jon*_*ib3 6 visual-studio-code windows-subsystem-for-linux wsl-2
自从我在电脑上运行 Windows 修复以来,我目前遇到了一个非常烦人的问题。我的 wsl 远程 vscode 由于某种原因无法在网上找到,无法打开终端中的当前文件夹。相反,它会打开 vscode appdata 窗口文件夹(/mnt/c/Users/Jonathan/AppData/Local/Programs/Microsoft VS Code),如下面链接的图像所示:
我的远程 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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助!
jon*_*ib3 11
所以,事实证明我找到了解决方案。对于任何遇到此问题的人来说,问题出在(至少在我的情况下)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}"
}
Run Code Online (Sandbox Code Playgroud)
就是这样,现在每次您单击“使用集成终端打开”时,您的终端都会在正确的工作区目录中打开。
归档时间: |
|
查看次数: |
3701 次 |
最近记录: |