如何更改远程 wsl 中的默认集成终端文件夹 vscode
How to change the default integrated terminal folder in remote wsl vscode
自从我 运行 windows 修复我的 PC 后,我目前遇到了一个非常烦人的问题。我的 wsl 遥控器 vscode 由于某种原因我无法在网上找到,无法在终端中打开当前文件夹。相反,它会打开 vscode appdata windows 文件夹(/mnt/c/Users/Jonathan/AppData/Local/Programs/Microsoft VS Code),如下面链接的图片所示:
my current workspace
open in integrated terminal result
我的远程 settings.json 文件:
{
"go.autocompleteUnimportedPackages": true,
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash",
"cwd": "/home/jonathanr/Documents/workspace"
},
"zsh": {
"path": "zsh"
},
"fish": {
"path": "fish"
},
"tmux": {
"path": "tmux",
"icon": "terminal-tmux"
},
"pwsh": {
"path": "pwsh",
"icon": "terminal-powershell"
}
}
}
非常感谢您的帮助!
原来我找到了解决方案。对于正在努力解决这个问题的任何人来说,问题出在(至少在我的情况下)vscode 与 WSL 运行 一起使用的环境变量之一。它被称为PRE_NAMESPACE_PWD
。如果您 运行 WSL 启用了调试(要执行此操作,只需转到 WSL 远程扩展设置并打开 Remote WSL:Debug
选项)。您会注意到 WSL 命令中的“env”选项,其中列出了所有环境变量,如果您继续滚动,您会注意到两个变量:PRE_NAMESPACE_PWD
和 PWD
。在此问题中,PRE_NAMESPACE_PWD
指向 windows vscode 文件夹而不是 WSL 中的当前工作区文件夹,并且 PWD
变量正在使用此文件夹。总而言之,我刚刚导出了这个 PRE_NAMESPACE_PWD
变量,其值为 ${cwd}
,这是一个在我的 vscode 中获取当前工作区文件夹的命令。为此,只需将此行添加到您的远程 Settings.json 文件:
"terminal.integrated.env.linux": {
"PRE_NAMESPACE_PWD": "${cwd}"
}
就是这样,现在每次单击“使用集成终端打开”时,您的终端都会在正确的工作区目录中打开。
自从我 运行 windows 修复我的 PC 后,我目前遇到了一个非常烦人的问题。我的 wsl 遥控器 vscode 由于某种原因我无法在网上找到,无法在终端中打开当前文件夹。相反,它会打开 vscode appdata windows 文件夹(/mnt/c/Users/Jonathan/AppData/Local/Programs/Microsoft VS Code),如下面链接的图片所示:
my current workspace
open in integrated terminal result
我的远程 settings.json 文件:
{
"go.autocompleteUnimportedPackages": true,
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash",
"cwd": "/home/jonathanr/Documents/workspace"
},
"zsh": {
"path": "zsh"
},
"fish": {
"path": "fish"
},
"tmux": {
"path": "tmux",
"icon": "terminal-tmux"
},
"pwsh": {
"path": "pwsh",
"icon": "terminal-powershell"
}
}
}
非常感谢您的帮助!
原来我找到了解决方案。对于正在努力解决这个问题的任何人来说,问题出在(至少在我的情况下)vscode 与 WSL 运行 一起使用的环境变量之一。它被称为PRE_NAMESPACE_PWD
。如果您 运行 WSL 启用了调试(要执行此操作,只需转到 WSL 远程扩展设置并打开 Remote WSL:Debug
选项)。您会注意到 WSL 命令中的“env”选项,其中列出了所有环境变量,如果您继续滚动,您会注意到两个变量:PRE_NAMESPACE_PWD
和 PWD
。在此问题中,PRE_NAMESPACE_PWD
指向 windows vscode 文件夹而不是 WSL 中的当前工作区文件夹,并且 PWD
变量正在使用此文件夹。总而言之,我刚刚导出了这个 PRE_NAMESPACE_PWD
变量,其值为 ${cwd}
,这是一个在我的 vscode 中获取当前工作区文件夹的命令。为此,只需将此行添加到您的远程 Settings.json 文件:
"terminal.integrated.env.linux": {
"PRE_NAMESPACE_PWD": "${cwd}"
}
就是这样,现在每次单击“使用集成终端打开”时,您的终端都会在正确的工作区目录中打开。