我需要指定一个自定义扩展名,以便在netbeans中识别为twig文件('blade.php'作为'twig'文件,并为我提供语法高亮显示和代码完成)。使用文件关联选项的问题(在Tools > Options > Miscellaneous > Files
中)
就是它不会让我加'。'在像blade.php这样的扩展中,它适用于php,html,css等单一的扩展扩展。
如果有人能帮助我,我将不胜感激!
答案 0 :(得分:25)
解决方法我发现并且似乎工作(至少Netbeans 8.x +)
Tools > Options > Miscellaneous > Files
Associate File Type (MIME)
选择 TWIG(text / x-twig) Options
窗口的确定 %AppData%\Netbeans\<version>\
config\Services\MIMEResolver
user-defined-mime-resolver.xml
<ext name="blade"/>
条目(或上面提到的任何内容)Voilà,higlighting现在应该在Netbeans IDE中工作:)
答案 1 :(得分:8)
修改user-defined-mime-resolver.xml
文件,使其看起来像这样的 :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MIME-resolver PUBLIC "-//NetBeans//DTD MIME Resolver 1.1//EN" "http://www.netbeans.org/dtds/mime-resolver-1_1.dtd">
<MIME-resolver>
<file>
<ext name="php"/>
<name name=".blade" substring="true"/>
<resolver mime="text/x-twig"/>
</file>
<file>
<ext name="php"/>
<resolver mime="text/x-php5"/>
</file>
</MIME-resolver>
在Linux(Ubuntu)上,您可以在以下位置找到此文件:
$HOME/.netbeans/8.2/config/Services/MIMEResolver/user-defined-mime-resolver.xml
在Windows上,您可以在以下位置找到该文件:
%AppData%\Netbeans\8.2\config\Services\MIMEResolver\user-defined-mime-resolver.xml
基本上,第一个<file>
块扫描任何PHP文件的文件名,看它是否包含&#34; .blade&#34;子。如果是,则将该文件视为Twig文件。如果没有,第二个<file>
块将把文件视为普通的PHP文件。
您可能需要&#34; Twig模板&#34; NetBeans插件以获得适当的突出显示:
Tools > Plugins > Available Plugins > Twig Templates
它并不完美......诸如@include
之类的刀片指令仍然以明文形式突出显示。但是,我觉得它比PHP语法高亮显着有了明显的改进。
以下来源非常有用:
答案 2 :(得分:3)
很多人正在开发其他系统,就像我在Centos 7上一样,因此这种解决方法几乎有效。
对于CentOS,可能还有其他系统,请按照以下步骤操作,几乎与上面的Windows相同:
Tools->Options->Miscellaneous
,然后选择标签Files
。File Extension
行中,点击New
按钮。输入crazywrongname
作为扩展名(这对选项2很重要)Associated File Type (MIME):
下选择TWIG (text/x-twig)
Apply
,然后点击OK
。选项1:
以下步骤适用于 CentOS 7 和 NetBeans 8.1 ,最有可能适用于其他系统,但如果您无法在该路径中找到该文件,选项2在下面。
/root/.netbeans/8.1/config/Services/MIMEResolver/user-defined-mime-resolver.xml
,例如运行命令nano /root/.netbeans/8.1/config/Services/MIMEResolver/user-defined-mime-resolver.xml
未来的人们,您可能会尝试将文件路径中的Netbeans版本从选项1更改为您的版本,例如14.3或2028年的任何内容。
选项2:
如果您无法在上述确切路径中找到此文件,请运行此命令进行查找:
cd / && grep -rI --exclude-dir=proc --exclude-dir=sys crazywrongname *
这将从root开始搜索整个系统上的特定模式。这就是为什么我们将参数命名为crazywrongname
- 所以它在系统上的任何其他文件中都找不到,就像blade
那样。它还将排除不应访问的文件夹。如果您不排除它们,您将收到错误并可能挂起您的系统。此外,一些粉红色的独角兽可能会死亡。
找到系统的确切文件路径后,请按照选项1中的其余步骤更改参数名称。
谢谢你,神秘的David Benedeki在回答之后从StackOverflow中消失了,这非常有帮助:)
答案 3 :(得分:0)
我可以看到问题更多是以 NetBeans为中心,因此我还建议您向NetBeans社区提交错误报告。
也许将来他们可以解决这个问题。您也可以链接该问题,以便他们看到用户的反应。
答案 4 :(得分:0)
使用自定义 *BladeDataObject 文件进行模块开发
@MIMEResolver.Registration(
resource = "BladeResolver.xml",
displayName = "#LBL_Blade_LOADER"
)
并在同一个包中创建包含内容的 BladeResolver.xml 文件
<MIME-resolver>
<file>
<ext name="php"/>
<name name="blade" substring="true">
<resolver mime="text/x-blade"/>
</name>
</file>
</MIME-resolver>