vscode cd 到工作区文件夹

pls*_*k04 2 bash visual-studio-code

的正常行为cd是返回到$HOME。在 vscode 终端中时,我想将cd我带到工作区根目录。我不想使用热键或只是打开另一个终端。

仿佛:

~/path/to/workspace $ cd /tmp
/tmp $ cd foo
/tmp/foo $ cd
~/path/to/workspace $ 
Run Code Online (Sandbox Code Playgroud)

相关:A如何在 Visual Studio Code 中将终端更改为当前目录?(热键)[重复]作为我没有问的问题的欺骗而关闭1

1 “如何快速更改 shell 文件夹以匹配当前打开的文件”。当前文件不是工作区文件夹。

pls*_*k04 5

启动集成终端时设置环境变量,并在 的别名中使用它cd

VS代码settings.json

"terminal.integrated.env.linux":  {"VSCODE_WS": "${workspaceFolder}"},
"terminal.integrated.env.windows":{"VSCODE_WS": "${workspaceFolder}"},

Run Code Online (Sandbox Code Playgroud)

.bashrc:

# Make `cd` from a vscode terminal go to the workspace root
# Assume the following is in vscode settings:
# "terminal.integrated.env.linux":  {"VSCODE_WS": "${workspaceFolder}"},
# "terminal.integrated.env.windows":{"VSCODE_WS": "${workspaceFolder}"},
# When in filemode / not in a workspace, `VSCODE_WS` is set to the literal `${workspaceFolder}` so we check and ignore that
if [[ -v VSCODE_WS ]] && [[ "$VSCODE_WS" != '${workspaceFolder}' ]]; then
    alias cd="HOME=\"${VSCODE_WS}\" cd"
fi
Run Code Online (Sandbox Code Playgroud)

也可以与 gitbash 一起使用。

我尚未测试多个文件夹工作区窗口。