visual-studio-code - VSCode 扩展中的竞争语言配置
问题描述
contributes.languages
当多个扩展通过贡献点为同一语言提供语言配置文件时,是否有人碰巧知道 VSCode 的行为?
我只是想在我的扩展程序中向一种语言添加一个自动关闭对,但是,至少还有一个其他活动扩展程序(我的插件的每个用户也可能拥有)为此提供了自己的配置语言。
它是一种还是另一种?如果是这样,基于什么?文档建议多个配置是可以的,因为它说贡献点也可以作为“丰富”VSCode 语言知识的一种方式,但我似乎无法让我的扩展程序添加一个自动关闭对。
我确定我使用了正确的语言 ID(配置此语言的其他扩展使用的 ID)以及扩展。
如果它只允许我扩展语言的配置,我应该只提供language-configuration.json
文件中我需要的信息吗?例如:
{
"autoClosingPairs": [
{ "open": "/**", "close": " */", "notIn": ["string"] }
]
}
如果所有这些都有意义,并且贡献不起作用,那么有人对调试问题有什么建议吗?提前致谢。
解决方案
好的,如果其他人碰巧遇到这个问题(不太可能考虑到这个问题受到的关注:)哦,好吧。),你的问题可能是清单中的publisher
关键。package.json
在抓了几天稻草之后,我终于开始尝试一些没有意义且似乎对此没有影响的东西。所以我开始从我的 VSCode 扩展相关键中删除package.json
,果然,当我到达时publisher
,瞧!我的语言配置终于拿走了。
我对“为什么?”的最初假设是,vscode 在幕后按字母顺序注册扩展,而另一个扩展的发布者可能在我的发布者名称之前。但是,唉,我dubs-dev-extensions
的出版商名称是,而竞争扩展的出版商名称也配置了相关语言salesforce
,所以就有了这个假设。此外,当我决定更改我的发布者名称以查看发生了什么时,我选择了peter-weinberg
,这也有效(因此它在没有发布者密钥和新发布者名称的情况下有效)。两者兼而有之peter-weinberg
_dubs-dev-extensions
salesforce
,所以按字母顺序排列不是答案。在写这篇文章的时候,我很困惑,并会尝试向 vscode 报告一个错误,如果不是,至少我希望能得到一些解释,说明为什么我会遇到这种奇怪的行为。
推荐阅读
- android-listview - 如何使用 CheckBox 在 Listview 中实现删除线文本?
- android - Android 权限保护级别“正常”永远不会重新授予
- python - 'float' 类型的对象没有 len() 和图像生成问题
- c - C中未初始化指针的值
- api - odoo 8 中的问题显示警告消息
- javascript - linqts - 按多个属性分组
- excel - 将公式转换为终极单元格引用 [IndexMatch、Offset、Indirect]
- javascript - 如何使用 yup 验证嵌套对象所需
- apache-nifi - Apache NiFi:将 SQL 行合并到 Json
- docker - Nginx Rverse Proxy to Tomcat(简单是......?否)