如何在 VSCode Marketplace 中将代码段集合创作为多种语言?
How can I author a Snippet Collection to multiple languages in VSCode Marketplace?
我的目标是创建一个片段集合,这些片段将在 VSCode 市场中提供。这些片段将适用于 3 种语言(html、css 和 JS)。这对从事特定框架工作的任何人都有帮助,尤其是我的团队。
我知道我可以确定片段的范围() to multiple languages. I also know that according to the docs 我应该有一个包含片段数组的贡献对象。在我的 package.json
中,对于我的 vsc-extension
默认如下:
"contributes": {
"snippets": [
{
"language": "markdown",
"path": "./snippets/markdown.json"
}
]
}
然后将我的 package.json 更新为类似以下内容对我来说是否正确:
"contributes": {
"snippets": [
{
"language": "html",
"path": "./snippets/snippets.json"
},
{
"language": "javacript",
"path": "./snippets/snippets.json"
}
]
}
然后让我的代码片段声明它们自己的范围 ("scope": "html"
)?
我在问题中遗漏的一条信息是,我使用 Yo 生成器创建了我的代码片段项目。这是文档中推荐的操作。
这成功了。我在 contributions 中的 snippets 数组中添加了几种语言,如下所示。
"contributes": {
"snippets": [
{
"language": "html",
"path": "./snippets/snippets.json"
},
{
"language": "javacript",
"path": "./snippets/snippets.json"
}
,
{
"language": "scss",
"path": "./snippets/snippets.json"
}
]
}
然后在 snippets/snippets.json
里面有一个包含我所有片段的大对象。您可以在下面看到一个示例。每个的关键行是 "scope": "html
和 "scope": "scss"
。
"Each Helper": {
"scope": "html",
"prefix": "each",
"body": [
"{{#each }}",
" ",
"{{/each}}"
],
"description": "Creates each helper -- handlebars"
},
"Break Point Small": {
"scope": "scss",
"prefix": "bps",
"body": [
"",
"@include breakpoint(\"small\") {// 551px and up",
" ",
"}"
],
"description": "Tablet Break Point --Stencil"
},
我想我应该在无法在此处或文档中找到答案后尝试一下。
我的方法是为每种类型的片段创建一个文件:php-snippets.json、js-snippets.json 等,然后将这些文件添加到片段数组。
"contributes": {
"snippets": [
{
"language": "php",
"path": "./snippets/php-snippets.json"
},
{
"language": "javascript",
"path": "./snippets/js-snippets.json"
}
]
}
我的目标是创建一个片段集合,这些片段将在 VSCode 市场中提供。这些片段将适用于 3 种语言(html、css 和 JS)。这对从事特定框架工作的任何人都有帮助,尤其是我的团队。
我知道我可以确定片段的范围(package.json
中,对于我的 vsc-extension
默认如下:
"contributes": {
"snippets": [
{
"language": "markdown",
"path": "./snippets/markdown.json"
}
]
}
然后将我的 package.json 更新为类似以下内容对我来说是否正确:
"contributes": {
"snippets": [
{
"language": "html",
"path": "./snippets/snippets.json"
},
{
"language": "javacript",
"path": "./snippets/snippets.json"
}
]
}
然后让我的代码片段声明它们自己的范围 ("scope": "html"
)?
我在问题中遗漏的一条信息是,我使用 Yo 生成器创建了我的代码片段项目。这是文档中推荐的操作。
这成功了。我在 contributions 中的 snippets 数组中添加了几种语言,如下所示。
"contributes": {
"snippets": [
{
"language": "html",
"path": "./snippets/snippets.json"
},
{
"language": "javacript",
"path": "./snippets/snippets.json"
}
,
{
"language": "scss",
"path": "./snippets/snippets.json"
}
]
}
然后在 snippets/snippets.json
里面有一个包含我所有片段的大对象。您可以在下面看到一个示例。每个的关键行是 "scope": "html
和 "scope": "scss"
。
"Each Helper": {
"scope": "html",
"prefix": "each",
"body": [
"{{#each }}",
" ",
"{{/each}}"
],
"description": "Creates each helper -- handlebars"
},
"Break Point Small": {
"scope": "scss",
"prefix": "bps",
"body": [
"",
"@include breakpoint(\"small\") {// 551px and up",
" ",
"}"
],
"description": "Tablet Break Point --Stencil"
},
我想我应该在无法在此处或文档中找到答案后尝试一下。
我的方法是为每种类型的片段创建一个文件:php-snippets.json、js-snippets.json 等,然后将这些文件添加到片段数组。
"contributes": {
"snippets": [
{
"language": "php",
"path": "./snippets/php-snippets.json"
},
{
"language": "javascript",
"path": "./snippets/js-snippets.json"
}
]
}