在VS代码扩展中评估环境变量

时间:2020-05-16 01:50:09

标签: visual-studio-code vscode-extensions vscode-tasks openscad

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

我的问题是,在导出使用与tasks.json文件中使用的环境变量相似的环境变量的OpenSCAD文件时,我想添加可配置的命名格式。可以在以下位置找到更多信息: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

0 个答案:

没有答案