首页 > 解决方案 > 带有 VSCode 代码段的 NPM 包

问题描述

我想知道是否有可能设置一个 NPM 包来包含 VSCode 片段并让它们自动供用户使用(即不必将它们拖放到他们的 VSCode 片段文件夹或类似的东西中。我知道可以创建一个包含代码片段的 VSCode 扩展,用户可以下载该扩展,并且代码片段会自动添加。我尝试使用 NPM 包复制该功能,但基本上没有成功。我确实构建了一个扩展并且有效通过在 package.json 中有一个“Contributes”键,它似乎将扩展中包含的片段导出到主片段文件夹中。

分类包.JSON

我尝试使用 NPM 包复制它,但 VSCode 似乎没有以相同的方式注册它。关于如何实现这一点的任何想法?所有的开发人员都熟悉 NPM,这就是我们向团队分发包的方式,所以我只是试图将事情集中起来以进行管理。

标签: npmvisual-studio-code

解决方案


也许不是您正在寻找的答案,但如果您将postinstall脚本添加到包中,如

{
  "name": "my-vscode-extension",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "postinstall": "node postinstall.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

它将在安装 npm 包后运行脚本。因此,您可以发出将扩展安装到 VSCode 所需的任何命令。VSCode文档

code --install-extension <extension-vsix-path>

将从命令行安装扩展

显然你需要制作一个 vsix 文件,所以把它放在你的 npm 包中。

注意:如果您使用公共 npm 包执行此操作,我怀疑您会因入侵他人的 vscode/系统而声名狼藉。你不应该通过 npm 将东西安装到其他人的编辑器或应用程序中。但是,如果它仅适用于您或私有 npm 服务器上的某些公司范围的私有扩展,那么它可能没问题。


推荐阅读