终端 Window 和 Vs 代码变量

Terminal Window and Vs Code Variables

我正在尝试从 VS Code 中的终端 window 检索 VS 代码变量值,但它们都是 return 空字符串。例如,我需要获取在 vscode 编辑器中打开的文件的名称(来自 var)

"例如:${fileBasename} - 当前打开文件的基本名称"

这是我为这些变量找到的文章,但是 return 都是空的:

https://code.visualstudio.com/docs/editor/variables-reference

谢谢和问候

泽比尔

VSCode-native 变量仅在配置和设置文件中解析,但它们不会在任何托管终端中自动可用。

也就是说,官方 PowerShell language extension 附带的集成终端连接到 VSCode 的编辑器 API 并通过 $psEditor 自动变量公开它:

# obtain editor context handle
$editorCtx = $psEditor.GetEditorContext()

# get current open file's path, infer name from path
$fileBasename = Split-Path $editorCtx.CurrentFile.Path -Child

# This now works
"Ex: ${fileBasename} - the current opened file's basename"

请注意,编辑器上下文对象是一个 快照 - 如果您想知道一段时间后主编辑器中打开的当前文件,您必须调用 GetEditorContext() 再次.