xml - 具有 Unicode 节点名称的 XML 的 Sublime 配色方案

标签 xml sublimetext3 syntax-highlighting sublimetext tmlanguage

如果我在 ASCII 中使用节点名称,我会有一个不错的 View :

enter image description here

但如果我使用 Unicode 节点名称,它就不漂亮了:

enter image description here

我该如何解决这个问题?

最佳答案

背景

Sublime Text 2/3 附带的 XML 语法高亮语言定义不识别非 ASCII 标签:

注意: Neon Color Scheme用于语法高亮

original

但是,将其替换为this gist中的文件解决了这个问题,以及一些小问题:

new


如何安装

Sublime Text 2

在 Sublime 中,打开一个新文件并粘贴要点的内容。将文件作为 XML.tmLanguage 保存到您的桌面。通过选择 Preferences → Browse Packages... 打开您的 Packages 文件夹,然后关闭 Sublime。向下滚动到 XML 文件夹并将 XML.tmLanguage 重命名为 XML.tmLanguage.old。如果存在,删除 XML.tmLanguage.cache。现在,将新的 XML.tmLanguage 从桌面复制到 Packages/XML。下次您在 Sublime 中打开 XML 文件时,它将使用新的语法。

Sublime Text 3 Build <= 3083(公开测试版)

在 Sublime 中,打开一个新文件并粘贴要点的内容。将文件作为 XML.tmLanguage 保存到您的桌面。通过选择 Preferences → Browse Packages... 打开您的 Packages 文件夹,然后关闭 Sublime。在 Packages 中创建一个名为 XML 的新文件夹,并将新的 XML.tmLanguage 从桌面复制到 Packages/XML .下次您在 Sublime 中打开 XML 文件时,它将使用新的语法。

Sublime Text 3 构建 > 3083(开发构建)

在 Sublime 中,打开一个新文件并粘贴要点的内容。将文件作为 XML.tmLanguage 保存到您的桌面。使用以下内容在 Sublime 中创建另一个新文件:

%YAML 1.2
---
name: XML-ss
file_extensions:
first_line_match: '^<\?xml '
scope: text.xml
contexts:
  main:
    - match: ''
---

将此文件作为 XML.sublime-syntax 保存到您的桌面。通过选择 Preferences → Browse Packages... 打开您的 Packages 文件夹,然后关闭 Sublime。在 Packages 中创建一个名为 XML 的新文件夹,并复制新的 XML.tmLanguageXML.sublime-syntax 文件从您的桌面到 Packages/XML。下次您在 Sublime 中打开 XML 文件时,它将使用新的语法。语法菜单中将有一个名为 XML-ss 的新条目(用于 sublime-syntax),忽略它即可。


工作原理

Sublime Text 2

在这里,我们只是用新的定义替换旧的语言定义(.tmLanguage 文件)。

Sublime Text 3

在 Sublime Text 3 中,默认包(以及您使用 Package Control 安装的许多包)作为压缩的 .sublime-package 文件存储在单独的目录中。但是,如果您在 Packages 文件夹中创建一个文件夹和文件,其名称与包(在本例中为 XML)和其中包含的文件相同,Packages 将覆盖 sublime-package 存档中的版本。对于 ST3 版本 3083 及之前版本,使用与 ST2 相同的基于 XML 的 .tmLanguage 格式。

但是,从 dev build 3084 及更高版本开始,引入了一种新的基于 YAML 的 .sublime-syntax 格式,并转换了所有默认语法定义。 .tmLanguage 格式仍然受支持,但是,我们需要先覆盖 XML/XML.sublime-syntax 文件,以便我们的新 .tmLanguage 要使用的文件。

关于xml - 具有 Unicode 节点名称的 XML 的 Sublime 配色方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34926757/

相关文章:

java - 处理 XML 数据的特殊字符以在 Java 中解析

java - 使用 JAXB 解码 XOP

text - 为什么在编写代码时Sublime Text 3不会跳行?

javascript - 无效的调用对象 IE 11 XML 数组的长度 (getElementsByTagName)

xml - 我如何让 Nokogiri 了解我的 namespace ?

regex - 如何在 Sublime Text 中用制表符替换所有 2 个空格组?

sublimetext3 - SublimeText 仅缩放一个 Pane 而不是全部

php - Komodo编辑语法高亮

vim - 如何在 Vim 中的注释中禁用拼写高亮显示

syntax-highlighting - 以 Notepad++ 自定义语言突出显示数字,如关键字(用于访问日志)