首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PhpStorm IDE错误后丢失Symfony/Twig模板设置页面

PhpStorm IDE错误后丢失Symfony/Twig模板设置页面
EN

Stack Overflow用户
提问于 2018-12-07 10:58:19
回答 1查看 751关注 0票数 3

我只是尝试配置我的PhpStorm的Twig设置,以获得自动完成和快速跳转的模板文件。但是,似乎我输入了一个错误的路径,它杀死了设置页面并生成了一个致命的错误。

下面是PhpStorm堆栈跟踪:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Argument for @NotNull parameter 'path' of fr/adrienbrault/idea/symfony2plugin/templating/path/TwigPath.<init> must not be null
at fr.adrienbrault.idea.symfony2plugin.templating.path.TwigPath.$$$reportNull$$$0(TwigPath.java)
at fr.adrienbrault.idea.symfony2plugin.templating.path.TwigPath.<init>(TwigPath.java)
at fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil.getTwigNamespaces(TwigUtil.java:1337)
at fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil.getTemplateNamesForFile(TwigUtil.java:1242)
at fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil.getTemplatesExtendingFile(TwigUtil.java:2180)
at fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil.getTemplatesExtendingFile(TwigUtil.java:2168)
at fr.adrienbrault.idea.symfony2plugin.twig.loader.FileImplementsLazyLoader.getFiles(FileImplementsLazyLoader.java:35)
at fr.adrienbrault.idea.symfony2plugin.twig.utils.TwigBlockUtil.hasBlockImplementations(TwigBlockUtil.java:66)
at fr.adrienbrault.idea.symfony2plugin.templating.TwigLineMarkerProvider.attachBlockImplements(TwigLineMarkerProvider.java:197)
at fr.adrienbrault.idea.symfony2plugin.templating.TwigLineMarkerProvider.collectSlowLineMarkers(TwigLineMarkerProvider.java:80)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:197)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:96)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:80)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:91)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:69)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.e(PassExecutorService.java:423)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1161)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.d(PassExecutorService.java:416)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:415)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:391)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:147)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:222)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:389)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

设置页面就是这样的:

如何重置设置页?我已经卸载了没有效果的Symfony插件(它添加/删除设置页),在重新安装时仍然有空页。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-14 15:19:32

这个解决方案对我有效:

  • 在OS文件资源管理器中打开项目.idea目录
  • 找到symfony2.xml文件
  • 将文件重命名为类似于symfony2_bkup.xml的内容
  • 重新安装插件
  • 重启PHPStorm
  • 允许提示符启用自动配置
  • 转到Settings >语言和框架> PHP > Symfony > Twig / Template
  • 现在应该可以工作了。
  • 如果您有以前的设置,请将它们从备份xml文件复制到生成的新xml文件中。

更新

经过进一步调试,您的xml文件中是否有类似的内容:

代码语言:javascript
复制
<option name="twigNamespaces">
  <list>
    <twig_namespace custom="true" namespace="MyCompany" namespaceType="ADD_PATH" />
  </list>
</option>

然后,您需要添加path属性如下:

代码语言:javascript
复制
<option name="twigNamespaces">
  <list>
    <twig_namespace custom="true" namespace="MyCompany" namespaceType="ADD_PATH" path="path/to/custom/views" />
  </list>
</option>

保存xml文件更改后,一定要重新启动PHPStorm!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53668136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档