我需要分配一个自定义扩展名,以便在netbeans中识别为一个twitch文件('blade.php'为'twit'文件,并适当地突出显示语法和完成代码)。使用文件关联选项的问题(在Tools > Options > Miscellaneous > Files
中)就是它不允许我加"。"在像blade.php这样的扩展中,它可以与php、html、css等措辞单一的扩展配合使用。
如果有人能帮我,我将不胜感激!
我找到了解决办法,似乎可以工作(至少Netbeans 8.x+)
- 转到
Tools > Options > Miscellaneous > Files
- 单击新建
- 输入blade作为新扩展(您可以在这里使用任何东西,但这似乎是最自然的)
- 单击"确定"
- 在
Associate File Type (MIME)
中,选择TWIG(text/x-trig) - 单击整个
Options
窗口的确定 - 关闭Netbeans
- 打开Netbeans配置文件夹-在Windows上是
%AppData%Netbeans<version>
- 转到子文件夹
configServicesMIMEResolver
- 打开
user-defined-mime-resolver.xml
- 查找
<ext name="blade"/>
条目(或您在上面输入的任何条目) - 将刀片更改为blade.php
- 保存并关闭文件
Voilà,higlitting现在应该在Netbeans IDE中工作:)
修改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%Netbeans8.2configServicesMIMEResolveruser-defined-mime-resolver.xml
基本上,第一个<file>
块扫描任何PHP文件的文件名,看看它是否包含"blade"子字符串。如果是,则该文件将被视为Twig文件。如果没有,第二个<file>
块将把该文件视为普通的PHP文件。
您可能需要"Twig Templates"NetBeans插件才能获得正确的突出显示:Tools > Plugins > Available Plugins > Twig Templates
这并不完美。。。刀片指令(如@include
)仍然突出显示为纯文本。然而,我觉得这是对PHP语法高亮显示的显著改进。
以下消息来源非常有用:
- 如何:声明式MIME类型解析程序
- DTD语法文档
- David Benedeki早些时候对这个问题的回答
很多人都在其他系统上开发,就像我在Centos 7上一样,所以这个变通方法几乎奏效了。
对于CentOS,可能还有其他系统,请遵循以下步骤,与上面针对Windows:的步骤几乎相同
- 打开Netbeans。转到
Tools->Options->Miscellaneous
并选择选项卡Files
- 在"
File Extension
"行中,单击"New
"按钮。输入crazywrongname
作为扩展名(这对于选项2很重要) - 在此下方,在
Associated File Type (MIME):
下选择选项TWIG (text/x-twig)
- 单击
Apply
,然后单击OK
- 关闭Netbeans
选项1:
以下步骤适用于CentOS7和NetBeans8.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
- 在该文件中找到参数名称"crazywrongname",并将其更改为"blade.php"
- 保存文件
- 打开Netbeans,尽情享受
将来的人,你可能会尝试将文件路径中的Netbeans版本从选项1更改为你的版本,比如14.3或2028年推出的任何版本。
选项2:
如果你在上面的确切路径中找不到这个文件,运行这个命令来找到它:
cd / && grep -rI --exclude-dir=proc --exclude-dir=sys crazywrongname *
这将从根开始在整个系统中搜索特定的模式。这就是为什么我们将参数命名为crazywrongname
,这样它就不会在系统上的任何其他文件中找到,就像blade
一样。它还将排除不应该访问的文件夹。如果你不排除它们,你会得到错误,并可能挂起你的系统。此外,一些粉红色的独角兽可能会死亡。
找到系统的确切文件路径后,请按照选项1中的其余步骤更改参数名称。
谢谢你,神秘的David Benedeki,他在回答后从StackOverflow中消失了,这对你帮助很大:)
正如我所看到的,这个问题更以NetBeans为中心,所以我也建议你向NetBeans社区提交一份错误报告。
- NetBeans论坛
- NetBeans漏洞跟踪器
也许将来他们可以解决这个问题。你也可以把这个问题链接起来,让他们看到用户的反应。
用于使用自定义*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>