VSCode片段作为扩展

时间:2020-09-30 18:02:59

标签: visual-studio-code vscode-extensions code-snippets vscode-snippets

我在snippets/snippet.json文件中创建了这样的代码段:

{
  "Add subscription": {
    "scope": "typescript",
    "prefix": "!subscription",
    "body": "subscription: Subscription$0;",
    "description": "Add subscription property to a class"
  }
}

我也创建了一个package.json文件:

{
  // ...
  "contributes": {
    "languages": [
      {
        "id": "typescript",
        "aliases": ["typescript", "ts"],
        "extensions": [".ts"]
      }
    ],
    "snippets": [
      {
        "language": "typescript",
        "path": "./snippets/snippets.json"
      }
    ]
  }
}

如果我将此代码片段JSON放入任何项目的.vscode/mysnippets.code-snippet文件中,则可以正常工作。但是,如果我作为扩展发布并安装,则无法正常工作。

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

主要问题是该扩展程序是作为禁用的扩展程序安装的。

使用调试模式,一条消息告诉可能的原因。

您在"main"中拥有package.json属性,但没有"activation"属性。

此代码段扩展名中没有index.js,因此请删除该行

"main": "index.js",

要获得更清洁的软件包,还请定义一个包含内容的文件.vscodeignore文件

.vscode/**
.gitignore

仍然有警告

[netdjw.ddata-snippets]:扩展名“ ddata-snippets”中的一个或多个代码段很可能会混淆代码段变量和代码段占位符(有关详细信息,请参见https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax

您必须一次添加一个,以查看哪个片段导致了此警告。