在Netbeans中对没有扩展名的PHP shell脚本进行语法高亮。

5
我有一些用PHP编写的shell脚本,这些文件没有文件扩展名,由于遗留代码的限制,不能添加扩展名。目前在Netbeans中似乎没有办法将这些脚本识别为PHP并使用其他PHP脚本的语法高亮。不同编辑器中允许shell脚本使用语法高亮的常见方法是通过Vim中的modelines(这里有其他示例),但据我所知,在Netbeans中没有类似的功能。每个文件都有shebang和php标记,两者都将脚本标识为php文件。是否有人知道解决此问题的方法?我愿意添加内容使其工作,但由于多种原因,我不能添加扩展名。

顺便说一下,我正在使用带有C/C++插件的PHP版本的Netbeans 6.9.1以启用.sh文件的语法高亮。

2个回答

11

我通过右键单击文件并选择“打开方式...”选项来完成它。然后,在对话框中选择“text/x-php5”选项,然后单击“打开”按钮。

有趣的是,当我转到“工具” > “选项”,“杂项”部分,“文件”选项卡时,我没有看到在那里删除或更改为没有扩展名的文件关联的方法。

经过进一步搜索,我找到了保存定义的文件。在Windows XP上,可以在以下位置找到:
[%HOMEDRIVE%%HOMEPATH%]\.netbeans\6.9\config\Services\MIMEResolver\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=""/>
        <resolver mime="text/x-php5"/>
    </file>
</MIME-resolver>

我简直不敢相信我以前没有注意到这个选项 - 尽管它并没有进行任何实际的文件类型检测,但基本上它能够工作,因为我的99%没有扩展名的文件都是PHP文件。谢谢! - robjmills
不客气!公平起见,该选项仅适用于尚未设置 MIME 解析器的文件。 - Sonny

-1

这些文件是否有 .php 扩展名?如果您使用的是 PHP 版本,则语法高亮应该是自动的。(顺便说一下,PHP 版本只是安装了 PHP 扩展的核心。)


抱歉,我误解了...以为你是说无法将扩展添加到Netbeans中。据我所知,添加PHP扩展是唯一的解决方案。您介意解释一下为什么无法添加PHP扩展吗?可能会有其他解决方案。 - Nathan MacInnes
问题在于有大量的旧代码调用这些无法更改的shell脚本。仅仅修改文件名并不是一个选项。 - robjmills

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接