小编Ant*_*yos的帖子

评估 VS Code 扩展中的环境变量

我正在 VS Code 中开发一个扩展,以添加对 OpenSCAD(基于脚本的 3D 建模程序)的语言支持。目前,我一直在研究一种从 VS Code 在 OpenSCAD 中打开/预览文件的方法,我已经能够使用自己的预览管理器成功完成此操作。

我的问题是,我想在导出 OpenSCAD 文件时添加可配置的命名格式,该文件使用与文件中使用的环境变量类似的环境变量tasks.json。更多信息可以在这里找到: https: //code.visualstudio.com/docs/editor/variables-reference。例如,采用文件test.scad和导出配置${fileBasenameNoExtension}.stl将导出到文件test.stl.

此外,我想添加一个自定义变量,${#}它将在所有其他变量之后评估为唯一的版本号,以避免重复导出的文件。使用示例文件:test.scad和导出配置 ,${fileBasenameNoExtension}_${#}.stl扩展将test_1.stl首次导出到该文件。然后,看到test_1.stl存在,它将导出到test_2.stl,依此类推。我在所有导出实用程序中实现了类似的功能,因此在这里实现它很重要。

现在介绍已经完成,接下来讨论实际问题:对于比我更了解 VS Code API 的人,为了最好地获得上述功能,我应该在自定义预览管理器中实现环境变量评估还是重新实现我使用任务的预览管理器?因为我已经实现了自己满意的预览管理器,所以我更喜欢前者。但是,我无法在 VS Code API 中找到任何可以评估字符串中的环境变量的函数。我错过了 API 中是否有用于评估环境变量的打字稿函数?

如果使用任务重新实现此功能是实现我的目标的更好方法,那么我是否必须牺牲预览管理器中的控制权,例如能够有选择地终止打开的预览并显示活动导出?

或者,是否有一种折衷方案可以使用任务的所有功能而不丢失我已经开发的任何功能

链接到我的扩展存储库的分支:https://github.com/Antyos/vscode-openscad/tree/PreviewModel

openscad visual-studio-code vscode-extensions vscode-tasks

5
推荐指数
0
解决办法
962
查看次数