如何在NetBeans中添加一个带有句点的自定义文件扩展名(blade.php)


How to add a custom file extension that has a dot (blade.php) in NetBeans?

我需要分配一个自定义扩展名,以便在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>'
  • 转到子文件夹config'Services'MIMEResolver
  • 打开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%'Netbeans'8.2'config'Services'MIMEResolver'user-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:

以下步骤适用于CentOS7NetBeans8.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>