${fileDirname}
变量用于引用当前在编辑器中打开的文件的目录。如果您没有打开文件,VS Code无法解析此变量,这会导致您看到的错误。settings.json
文件中使用条件设置。VS Code在settings.json
文件中不原生支持条件逻辑,但您可以通过一个shell脚本来解决这个限制,该脚本检查当前目录是否设置,如果没有设置,则回退到主目录。
在您的主目录中创建一个shell脚本(例如open_terminal.sh
),内容如下:
#!/bin/bash
if [ -d "$1" ]; then
cd "$1"
else
cd "$HOME"
fi
exec gnome-terminal
为您的脚本赋予可执行权限:
chmod +x ~/open_terminal.sh
更新您的VS Code设置(settings.json
)以使用此脚本:
{
"terminal.integrated.shell.linux": "/bin/bash",
"terminal.integrated.shellArgs.linux": ["-c", "~/open_terminal.sh ${fileDirname}"]
}
open_terminal.sh
脚本。该脚本会检查${fileDirname}
是否是一个目录;如果是,它会切换到该目录。如果不是,它会默认切换到用户的主目录。