如何在 Visual Studio Code 中使代码片段仅显示特定的文件扩展名?

3
我已经尝试解决这个问题好几个星期了,但最终放弃并决定寻求帮助...
我为我的网页项目编写了很多片段(HTML、PHP、JS、VUE、Laravel Blade等),并创建了几个全局的.code-snippet文件,在我打开的每个项目或文件中都显示出来,这不是我想要的行为,我将向您解释原因。
当我打开C++项目时,我不希望编辑器提示我HTML内容或Bootstrap图标,我制作了特定的C++脚本(并将.h扩展名添加到C++语言模式中,否则它们只能与.cpp扩展名的文件一起使用),不幸的是,对于我之前提到的语言,我无法做同样的事情,因为它们是非常不同的语言。
在我的\AppData\Roaming\Code\User\snippets文件夹中,我可以看到有两种类型的文件,我的自定义片段具有.code-snippets扩展名,语言特定片段具有.json扩展名(例如cpp.json),语法相同。
我可以为每个文件扩展名创建一个custom.code-snippets的副本,并将其与我需要的每种语言配对(例如html.json、php.json、blade.json等),但我觉得这样做真的很愚蠢,因为如果我想添加一个片段,我必须手动将其添加到每个文件中。
提前感谢您。

1
添加一个功能请求,以添加一个文件全局的scope属性,该属性适用于文件中定义的所有代码片段,除非在代码片段中被覆盖或重新定义。 - undefined
1个回答

6
我发现最好的解决方案是针对单个片段使用"scope",但我并不完全满意:
"Bootstrap Icons Alarm Fill": {
    "prefix": ["bsi-alarm","bsi-clock"],
    "body": "<i class='bsi bi-alarm'></i>",
    "description": "Bootstrap Icons Alarm Fill"
},

我可以在每个代码片段中添加"scope": "html,php,blade,vue,javascript,xml",以仅显示特定文件扩展名的代码片段,但我需要将其添加到每个代码片段中(想象一下,仅在此文件中就有超过1200个代码片段,我可以很容易地完成,但我更喜欢不这样做),我希望让整个文件专用于几个扩展名。

这个答案对我很有帮助,不过我建议你在你展示的代码中包含scope属性。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接