【问题标题】:NPM Package with VSCode Snippets带有 VSCode 代码段的 NPM 包
【发布时间】:2020-12-02 17:45:51
【问题描述】:

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

我尝试使用 NPM 包复制它,但 VSCode 似乎没有以相同的方式注册它。关于如何实现这一点的任何想法?所有的开发人员都熟悉 NPM,这就是我们向团队分发包的方式,所以我只是为了管理目的而努力保持集中。

【问题讨论】:

    标签: npm visual-studio-code


    【解决方案1】:

    也许不是您正在寻找的答案,但如果您将 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 docs

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

    将从命令行安装扩展

    显然你需要 make a vsix file 所以把它放在你的 npm 包中。

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

    【讨论】:

    • 太棒了,这是个好主意。是的,将在私有 NPM 服务器上
    猜你喜欢
    • 2022-12-25
    • 2021-01-14
    • 2021-11-23
    • 2019-11-04
    • 1970-01-01
    • 2020-10-14
    • 2019-12-11
    • 2021-05-05
    • 1970-01-01
    相关资源
    最近更新 更多