【发布时间】:2019-04-04 20:47:01
【问题描述】:
我有来自 API 的自定义输出,我想将其格式化为带有一些颜色值的字符串。
【问题讨论】:
标签: visual-studio-code vscode-extensions
我有来自 API 的自定义输出,我想将其格式化为带有一些颜色值的字符串。
【问题讨论】:
标签: visual-studio-code vscode-extensions
可以使用TmLanguage grammar 为输出通道着色。 Output Colorizer 扩展扩展正是这样做的:
您可以通过定位text/x-code-output mimetype 来做到这一点:
"contributes": {
"languages": [{
"id": "code-output",
"mimetypes": [
"text/x-code-output"
]
}],
"grammars": [{
"language": "code-output",
"scopeName": "code.output",
"path": "./syntaxes/code-output.tmLanguage"
}]
}
但是,由于这种着色是基于 mimetype 的,you can't apply the highlighting to a specific output channel only。这意味着提供输出通道着色的两个扩展会发生冲突。
【讨论】:
text/x-code-output 所做的。不过,您似乎想错了。
在 v1.65 中,Proposed Extension API 能够“创建具有自定义语言 id 的输出通道”,以避免与可能影响输出语法的其他扩展发生冲突。
带有自定义语言 ID 的输出通道
有一些扩展可以定义标记或语法着色 和 code-lens 特征到它们的输出通道,因为它们是 文本文档(只读)。由于所有输出通道 共享相同的语言 id,这些自定义可能是错误的 应用于其他输出通道。因此有人要求 使用自定义语言 ID 创建一个输出通道,以便扩展 作者可以按语言定义自定义。因此在这 里程碑,我们推出了 proposal 使用自定义语言 ID 创建输出通道。请尝试一下 出来给我们反馈。
【讨论】: