xml - 如何制作仅当使用具有特定架构的 xml 时才启用的 VSCode 扩展?

标签 xml xsd visual-studio-code vscode-extensions

我想使用用于编辑使用特定架构的 xml 文件的工具进行扩展。有没有办法仅在使用具有该架构的文件时才具有右键单击菜单和自动完成标记?

最佳答案

首先,您必须定义您的扩展仅适用于 xml 文件,如下所示:

在您的package.json上将onLanguage更改为xml

"activationEvents": [
    "onLanguage:xml"
]

并在 extesions.ts 上将 documentSelector 的 language 设置为 xml

const clientOptions: LanguageClientOptions = {
        // Register the server for plain XML documents
        documentSelector: [{ scheme: 'file', language: 'xml' }],
    };

这样做,您的所有命令对于任何 XML 文件都将可见,无论是否有您的架构。如果你不想要这个,你应该看看this issue ,在注释中说明了如何根据上下文隐藏命令。在您的情况下,您将根据架构定义此上下文。

关于xml - 如何制作仅当使用具有特定架构的 xml 时才启用的 VSCode 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43355154/

相关文章:

visual-studio-code - 在 VSCode 扩展中检测 Debug模式

python - 为什么在 VS Code 中单击调试测试时会收到 "TypeError: message must be set"?

java - 在 XSD 的限制中指定多个模式

java - XML 模式与 Java 代码的运行时绑定(bind)

visual-studio-code - Rust Visual Studio Code 代码完成不起作用

php - reddit API - 从 subreddit 中提取图像

java - 使用 JAXB 从未编码的 java 对象获取 xml 元素名称

xml - 使用Mule中的Choice,在XML中存在Check节点

ios - 如何使用 NSXMLParser 从 SWIFT 中的 XML 获取特定属性

java - 在两个不同文件中使用替换的 jaxb 中的非法注释异常