终端 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()
再次.
我正在尝试从 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()
再次.