15

我需要分配一个自定义扩展名,以便在 netbeans 中识别为 twig 文件('blade.php' 为 'twig' 文件,并适当地给我语法突出显示和代码完成)。使用文件关联选项 (in Tools > Options > Miscellaneous > Files) 的问题是它不允许我添加 '.' 在像 Blade.php 这样的扩展中,它适用于单字扩展,如 php、html、css 等。

如果有人可以帮助我,将不胜感激!

4

5 回答 5

26

解决方法我想出了并且似乎有效(至少 Netbeans 8.x+)

  • Tools > Options > Miscellaneous > Files
  • 点击New
  • 输入刀片作为新的扩展(你可以在这里使用任何东西,但这似乎是最自然的)
  • 点击OK
  • Associate File Type (MIME)选择TWIG (text/x-twig)
  • 点击OK整个Options窗口
  • 关闭 Netbeans
  • 打开 Netbeans 配置文件夹 - 在 Windows 上是%AppData%\Netbeans\<version>\
  • 转到子文件夹config\Services\MIMEResolver
  • 打开user-defined-mime-resolver.xml
  • 找到<ext name="blade"/>条目(或您在上面输入的任何内容)
  • 将刀片更改为blade.php
  • 保存并关闭文件

瞧,高亮现在应该在 Netbeans IDE 中工作了 :)

于 2015-04-12T14:05:54.163 回答
14

修改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 语法高亮的显着改进。

以下来源非常有帮助:

于 2018-05-10T05:39:16.277 回答
3

很多人都在其他系统上开发,就像我在 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:

以下步骤适用于CentOS 7NetBeans 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
  • 在此文件中找到参数名称“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 消失了,这对你有很大帮助:)

于 2016-03-18T19:55:48.530 回答
0

正如我所看到的,问题更多的是以NetBeans 为中心,因此我还建议您向 NetBeans 社区提交错误报告。

也许将来他们可以解决这个问题。您也可以链接该问题,以便他们可以看到用户的反应。

于 2013-08-11T01:11:30.127 回答
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>
于 2021-04-28T05:20:13.727 回答