visual-studio-code - 使用 API 以编程方式获取 Visual Studio 代码片段范围
解决方案
片段的范围仅限于语言,并作为工作区的全局或本地引入 VS Code。语言可以通过异常贡献给 VS Code。通常通过在 中声明一种语言package.json
,添加语法和片段文件。更新:
这里是如何通过您的扩展将片段添加到任何语言的指南。如果您按照指南向当前工作区添加一个片段,您会注意到在工作区.code-snippets
的文件夹下创建了带有扩展名的.vscode
文件。vscode.workspace.workspaceFolders
因此,您可以使用和fs.readDir
API枚举所有此类文件。
vscode.workspace.workspaceFolders!.forEach(workspaceFolder => {
const snippetFiles = fs.readdirSync(path.join(workspaceFolder.uri.fsPath, '.vscode'))
.filter(el => /\.code-snippets$/.test(el));
});
同样,全局片段作为.code-snippets
文件添加到用户配置文件文件夹中 - 在 Windows 上看起来像这样:C:\Users\currentUser\AppData\Roaming\Code\User\snippets\*.code-snippets
. 您可以在这两个位置扫描*.code-snippets
文件以及以编程方式将此类文件添加到这些文件夹中。
这是如何通过文件将片段添加到范围的文档。似乎没有任何公共 API 可以以编程方式枚举所有此类片段文件。
但是,如果您想检索您发布的屏幕截图中的语言列表,请使用此 API:
vscode.languages.getLanguages()
如果您解释了您要达到的目标,这可能会有所帮助。你想找到一个特定的片段来自哪里来改变它吗?是否要向此列表中的语言添加片段?或者使用不在此列表中的语言?
推荐阅读
- javascript - 如何从 React 中的 int 像素值数组渲染图像?
- node.js - 无法在 CentOS 7 上安装节点画布
- java - 循环给定最大值和范围
- python - 根据列中的值是整数(整数)的条件过滤数据框
- javascript - 动态加载未在 SVG 中呈现
- bash - 高于某个截止值的连续值的数量
- excel - 用于将数据从 DB 提取到 Excel 的 Shell 脚本
- mockito - AndroidViewModel 和单元测试
- django - Django:为 save.method 提取字典
- spring - 如何测试 Spring @EventListener 方法?