# vscode基本編輯操作——設定 vscode 預設 terminal(windows10版本) ###### tags: `夏令營課程講義` 還記得我們在[Anaconda介紹與安裝(windows10版本)](https://hackmd.io/Lz36VolVSuy9iezxozYlwQ)的文章中,使用的 PowerShell 是已經跟 Anaconda 結合的版本 `Anaconda PowerShell Prompt(anaconda3)`,而不是預設的 PowerShell 終端機。 但是在 VScode 中內嵌的的預設 terminal 為原始預設的 PowerShell 終端機,所以我們必須做一些設定讓 `Anaconda PowerShell Prompt(anaconda3)` 變成 VScode 預設的 terminal。 首先我們必須知道電腦開啟 `Anaconda PowerShell Prompt(anaconda3)` 的文字指令,請先到左下角的開始選單,尋找 `Anaconda PowerShell Prompt(anaconda3)` 並對其按下右鍵,然後在 `更多` 選項點擊 `開啟檔案位置`。 ![](https://i.imgur.com/AuSlylE.png) 然後就會導到 `Anaconda PowerShell Prompt(anaconda3)` 的資料夾位置,按下右鍵點擊內容。 ![](https://i.imgur.com/nhM0J1t.png) 在內容視窗中,將目標欄位的文字複製起來。 ![](https://i.imgur.com/VrgUp6O.png) 然後就會看到類似下方的字串(每個人的複製出來的文字應該會不太一樣),現在我們要把這一行文字指令寫入到 VScode 的設定中。 ```! %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\Users\shnovaj30101tutor\anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\shnovaj30101tutor\anaconda3' " ``` 現在我們打開 VScode,並按下快捷鍵 `Ctrl-Shift-p`,出現命令列欄位之後,打上 `Open Settings`,然後先點擊 `Preferences: Open Default Settings (JSON)`,出現該分頁之後,在重新做一次剛剛的操作,然後點擊 `Preferences: Open User Settings (JSON)`,出現另外一個分頁。 ![](https://i.imgur.com/OqvzLAW.png) 現在應該會出現兩個分頁,一個是 `defaultSettings.json`,另外一個是 `settings.json`,先到 `defaultSettings.json`,按 `Ctrl-f` 之後,在右上角出現的搜尋欄位打上,`terminal.integrated.profiles.windows`,那應該找到類似下圖中的設定值。 ![](https://i.imgur.com/6lAieAL.png) 把這一段 `terminal.integrated.profiles.windows` 以及被大括號括起來的所有內容(就是上圖被反白的那些段落),把它全部都複製起來,貼到另一個分頁 `settings.json` 的最下方,應該會像下面這個樣子: ![](https://i.imgur.com/EjliiWa.png) 接著我們要在 `settings.json` 裡面的 `terminal.integrated.profiles.windows` 加上 `Anaconda PowerShell Prompt(anaconda3)` 設定了。 首先我們先在 `terminal.integrated.profiles.windows` 把 `PowerShell` 的設定複製起來在貼上一次,然後把欄位名稱 `PowerShell` 改成 `PowerShell(Anaconda)`。 ![](https://i.imgur.com/P7sRLT2.png) 接著再根據我們剛剛得到的,開啟 `Anaconda PowerShell Prompt(anaconda3)` 的文字指令,將 `PowerShell(Anaconda)` 的設定改成以下形式。 ```json= "PowerShell(Anaconda)": { "path": [ "${env:windir}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", ], "args": [ "-ExecutionPolicy", "ByPass", "-NoExit", "-Command", "& 'C:\\Users\\shnovaj30101tutor\\anaconda3\\shell\\condabin\\conda-hook.ps1' ; conda activate 'C:\\Users\\shnovaj30101tutor\\anaconda3' ", ], "icon": "terminal-powershell" }, ``` 也就是如下圖所示: ![](https://i.imgur.com/4lnE1ly.png) 該設定只是個參考,實際上不能全複製貼上,需要跟每個人實際拿到的文字指令而定,這裡示範怎麼根據自己的文字指令來客製化自己的設定,以下為詳細步驟: ```! %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\Users\shnovaj30101tutor\anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\shnovaj30101tutor\anaconda3' " ``` 這是我的文字指令,首先把這個指令根據空白分割成幾個部分: > %windir%\System32\WindowsPowerShell\v1.0\powershell.exe > -ExecutionPolicy > ByPass > -Command > "& 'C:\Users\shnovaj30101tutor\anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\shnovaj30101tutor\anaconda3' " 其中最後一個部分因為是整個被雙引號包括起來的,所以他們整體是一部分,接下來第一個指令放到 `PowerShell(Anaconda)` 裡面的 `path` 設定,剩下的所有指令都放到 `PowerShell(Anaconda)` 裡面的 `args` 設定。 然後第一個指令 `%windir%\System32\WindowsPowerShell\v1.0\powershell.exe` 請把裡面的 `%windir%` 字元換成 `${env:windir}`,以及裡面所有反斜線 `\` 都換成兩個反斜線 `\\`,其餘的指令也要這樣做。 設定完之後接著去找 `settings.json` 裡面尋找設定 `terminal.integrated.defaultProfile.windows`,把他的值設定成 `PowerShell(Anaconda)`,如下圖所示: ![](https://i.imgur.com/4q75j3a.png) 設定完後,按下 `Ctrl-s` 儲存設定,再按下快捷鍵 ``Ctrl + ` ``,看看出現的 terminal 有沒有顯示以下文字: ``` (base) PS C:\Users\shnovaj30101tutor> ``` 若前面有 `(base)` 那高機率就代表你成功了: ![](https://i.imgur.com/te2Nz3O.png) 假設你沒成功,那你可以 trytry 看先按一下右上角的垃圾桶,刪掉當下的 terminal,再按一次 ``Ctrl + ` ``,看看出現的 terminal 有沒有顯示正確的文字。 ![](https://i.imgur.com/m2cjot6.png) 假設一樣沒有的話,就請聯絡作者看看嚕! 參考資料: https://dev.to/markwitt_me/creating-a-custom-vscode-terminal-profile-for-using-rosetta-on-an-m1-mac-apple-silicon-2gb2