# 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)` 並對其按下右鍵,然後在 `更多` 選項點擊 `開啟檔案位置`。

然後就會導到 `Anaconda PowerShell Prompt(anaconda3)` 的資料夾位置,按下右鍵點擊內容。

在內容視窗中,將目標欄位的文字複製起來。

然後就會看到類似下方的字串(每個人的複製出來的文字應該會不太一樣),現在我們要把這一行文字指令寫入到 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)`,出現另外一個分頁。

現在應該會出現兩個分頁,一個是 `defaultSettings.json`,另外一個是 `settings.json`,先到 `defaultSettings.json`,按 `Ctrl-f` 之後,在右上角出現的搜尋欄位打上,`terminal.integrated.profiles.windows`,那應該找到類似下圖中的設定值。

把這一段 `terminal.integrated.profiles.windows` 以及被大括號括起來的所有內容(就是上圖被反白的那些段落),把它全部都複製起來,貼到另一個分頁 `settings.json` 的最下方,應該會像下面這個樣子:

接著我們要在 `settings.json` 裡面的 `terminal.integrated.profiles.windows` 加上 `Anaconda PowerShell Prompt(anaconda3)` 設定了。
首先我們先在 `terminal.integrated.profiles.windows` 把 `PowerShell` 的設定複製起來在貼上一次,然後把欄位名稱 `PowerShell` 改成 `PowerShell(Anaconda)`。

接著再根據我們剛剛得到的,開啟 `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"
},
```
也就是如下圖所示:

該設定只是個參考,實際上不能全複製貼上,需要跟每個人實際拿到的文字指令而定,這裡示範怎麼根據自己的文字指令來客製化自己的設定,以下為詳細步驟:
```!
%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)`,如下圖所示:

設定完後,按下 `Ctrl-s` 儲存設定,再按下快捷鍵 ``Ctrl + ` ``,看看出現的 terminal 有沒有顯示以下文字:
```
(base) PS C:\Users\shnovaj30101tutor>
```
若前面有 `(base)` 那高機率就代表你成功了:

假設你沒成功,那你可以 trytry 看先按一下右上角的垃圾桶,刪掉當下的 terminal,再按一次 ``Ctrl + ` ``,看看出現的 terminal 有沒有顯示正確的文字。

假設一樣沒有的話,就請聯絡作者看看嚕!
參考資料:
https://dev.to/markwitt_me/creating-a-custom-vscode-terminal-profile-for-using-rosetta-on-an-m1-mac-apple-silicon-2gb2