npm - 带有 VSCode 代码段的 NPM 包
问题描述
我想知道是否有可能设置一个 NPM 包来包含 VSCode 片段并让它们自动供用户使用(即不必将它们拖放到他们的 VSCode 片段文件夹或类似的东西中。我知道可以创建一个包含代码片段的 VSCode 扩展,用户可以下载该扩展,并且代码片段会自动添加。我尝试使用 NPM 包复制该功能,但基本上没有成功。我确实构建了一个扩展并且有效通过在 package.json 中有一个“Contributes”键,它似乎将扩展中包含的片段导出到主片段文件夹中。
我尝试使用 NPM 包复制它,但 VSCode 似乎没有以相同的方式注册它。关于如何实现这一点的任何想法?所有的开发人员都熟悉 NPM,这就是我们向团队分发包的方式,所以我只是试图将事情集中起来以进行管理。
解决方案
也许不是您正在寻找的答案,但如果您将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 服务器上的某些公司范围的私有扩展,那么它可能没问题。
推荐阅读
- python - 如何在子图中添加颜色条和标题?
- c++ - 如何在 C++ 中将 0x(十六进制)转换为 denary
- python - Qt 错误:qt.qpa.fonts:无法打开默认 EUDC 字体:“C:\\WINDOWS\\FONTS\\EUDC.TTE”
- c# - 从 System.Io.Stream Xamarin Forms 播放视频
- spring-boot - Spring Boot 微服务无法连接到 Axon Server
- r - 将自定义函数应用于数据框中的列对
- python - 如何在 Python 中停止线程?
- azerothcore - 使用仪表板设置编译 AzerothCore 时如何更改 clang 版本
- macos - 使用 FFmpeg 在 ssh 中访问睡眠中 Mac 的网络摄像头
- docker - 如何为 docker GCP CloudRun 服务提供 env 文件