jEdit:如何为给定的扩展打开语法高亮?

jEdit: How to turn on syntax highlight for a given extension?

我希望 .xslt 个文件在 jEdit 中突出显示为 XML。

如何在 jEdit 中实现?

永久解决方案(假设linux,你没有指定系统)

终止 jedit。

将文件 /usr/share/jedit/modes/xml.xml 复制到本地 jedit pref 目录下的 modes/

cp /usr/share/jedit/modes/xml.xml ~/.jedit/modes

编辑 ~/.jedit/modes/catalog 使其看起来像

<?xml version="1.0"?>
<!DOCTYPE MODES SYSTEM "catalog.dtd">

<MODES>

<MODE NAME="xml"                FILE="xml.xml"
                                FILE_NAME_GLOB="*.{xml,xhtml,xslt}" />
<!-- Add lines like the following, one for each edit mode you add: -->
<!-- <MODE NAME="foo" FILE="foo.xml" FILE_NAME_GLOB="*.foo" /> -->

</MODES>

或者为了品味,查看 xml/xsl 中的条目 /usr/share/jedit/modes/catalog

如果你是自己机器的高手,也可以直接编辑/usr/share/jedit/modes/catalog,修改 FILE_NAME_GLOB="*.{xml,xslt,xhtml,xsd,qrc,ui,docbook}" 在MODE NAME="xml"部分

根据您的需要,有不同的可能解决方案。
除此之外,对于 .xslt 文件,您可能更喜欢 xsl 模式,而不是 xml 模式。该模式也是 .xsl 文件的默认模式,这是 XSL(T) 脚本的标准扩展。
但正如您要求 xml,我将在以下描述中保持这一点。

  • 如果您的 .xslt 文件以 XML header 开头,例如 <?xml version="1.0" ?>(实际上重要的部分是 <?xml开头),您的文件会自动以 xml 模式突出显示,与其名称无关

  • 如果要以特定模式高亮当前查看的文件,只要它停留在最近的文件列表中,只需在缓冲区设置中更改模式即可,双击状态即可到达在 (<mode>,<wrap>,<encoding>) 或通过 Utilities -> Buffer Settings...

  • 如果你想始终以特定模式突出显示文件,无论你在哪个 jEdit 中打开它,请将模式嵌入为 buffer-local 属性 在第一个或文件的最后 10 行,如 <!-- :mode=xml: -->

  • 如果您想使用 xml 模式突出显示所有以 .xslt 结尾的文件,您需要编辑模式设置。为此

    • 转到Utilities -> Global Options... -> jEdit -> Editing
    • select xml 模式
    • 取消选中 Use default settings
    • 编辑 File name glob 以匹配 .xslt 个文件