[英]Setting WSL to CWD in VSCode Terminal
我的windows 10機器上安裝了ubuntu,一直在用vscode。 我想使用 wsl 集成終端。 如果我只是打開 vscode,然后打開一個新的 wsl 終端,它會將我的路徑顯示為: username@Computer:/mnt/c/Users/winusername
如果我然后打開一個項目文件夾(不是工作區),然后打開一個新終端,它顯示為: username@Computer:~
這不在我的項目文件夾位置 - 有沒有辦法讓 wsl 集成終端將項目位置設置為當前工作目錄?
Git bash 如果我將它用作我的終端,就可以做到這一點,如下所示:
winusername@Computer MINGW64 /d/my/project/path
但我想使用 wsl。
不完全相同的問題,但由於不同原因導致的相似症狀。
當我打開一個項目文件夾(不是工作區)並登陸我的username@Computer:~
而不是我剛剛打開的項目目錄時。
這是由於我在我的.bashrc|.zshrc
中放置一個cd ~
非常“聰明”的解決方案,打算替換在/mnt/...
路徑而不是 WSL 發行版用戶目錄啟動終端的 WSL 默認行為( /home/username
)。
換句話說:
啟動新的 WSL 發行版終端窗口時,WSl 的默認行為是從以下位置開始:
➜ windowsusername pwd
/mnt/...
我試圖通過將以下內容添加到我的.bashrc
或.zshrc
來“修復”:
cd ~
這使我的終端總是在我的發行版主目錄中打開,這對我來說很方便,但也弄亂了我的 vscode 終端,因為它自然總是在任何其他任務之前將目錄更改為我的發行/home/distrousername
用戶目錄/home/distrousername
。
➜ ~ pwd
/home/distrousername
這種粗心大意的方法的一些額外副作用是我的 vscode 調試器無法附加到我的 nodejs 服務器,我的jest
vscode 擴展無法通過擴展實用程序觸發測試(例如,擴展添加到*.test.js|ts
的Debug
按鈕*.test.js|ts
或 *.spec.js|ts)。
不是上面報告的問題的直接答案,但可能會幫助某人出於與我相同的原因來到這里。
我同意@AlanBueno 這對我有用:-)
if [ "$NAME" != "Code" ]; then
cd ~
else
cd $OLDPWD
fi
我認為你的配置有點搞砸了。
檢查有關用戶設置和工作區設置的終端配置。
您可以在 UI 上輕松找到。
文件 > 首選項 > 設置
檢查默認的“集成終端”路徑和cwd
值。
在我的情況下,默認終端使用
wsl.exe
,而不是bash.exe
與 UI 上的User settings
和Workspace settings
比較相同的選項鍵。(您只需點擊標題即可輕松比較)
如果你的設置沒有問題,我推薦這個 VSCODE 擴展。 它有助於打開帶有打開文件路徑的終端。 https://marketplace.visualstudio.com/items?itemName=Tyriar.vscode-terminal-here&ssr=false
我像這樣編輯了我的settings.json
並且它確實有效:
"terminal.integrated.shell.windows": "${fullPathToExecutable}",
"terminal.integrated.shellArgs.windows": ["run"],
"terminal.integrated.cwd": "C:\\Users\\winusername"
我同意@AlanBueno 和@Dexter Le Blanc Jr。
我認為以下已證明在多個 IDE 中對我來說更穩定。
if [ "$NAME" != "Code" ]; then
cd ~
fi
對我來說什么最有效:
CALLER="$PWD"
APP="${CALLER##*/}"
if [ "$APP" != "Microsoft VS Code" ]; then
cd ~
else
cd $OLDPWD
fi
我的 VSCode 得到了那個名字......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.