[皮毛筆記] 如何在vs code使用多種shell於終端機上
vs code為什麼好用?
因為它直接整合了許多開發時會用到的功能,不需要使用某種功能就開啟一個軟體,省很多切換視窗的時間對工程師來說也挺吸引的。
vs code其實內建了終端機(Terminal)功能,一些簡單的指令可以直接在vs code上操作就好。
(如下圖,可以直接在vs code底下開啟終端機)
在vs code上開啟終端機
方法一 : 快捷鍵 ctrl + ~
方法二 : 上方選單 檢視
>> 終端機
這裡開啟的就是windows作業系統內建的cmd,也就是我們俗稱的命令提示字元
,如果你的電腦是Win 10,有可能一打開是運行PowerShell
在終端機上設定使用git bash
有用Git的人一般也會用到git bash,雖然一樣是下指令,但git bash跟windows內建的命令提示字元還是不一樣,習慣用git bash的人同樣可以把它整合進vs code的終端機來用。
Step1 : 檔案
>> 喜好設定
>> 設定
Step2 : 開啟功能
的設定頁面,選擇左邊選單 功能
>> 終端機
找到以下這段,將shell的路徑改為git bash的路徑
C:\Program Files\Git\bin\bash.exe
當然,在你做這件事之前請確保你的電腦有裝GIT,否則系統不會找到git bash。
另一個終端機設定的方法
Step1 : 點選右上方的選單 (…),選擇 開啟settings.json
如果你沒有設定過的話,右邊那個區塊應該是空白的
(如下圖,左邊是預設的設定,右邊是使用者自訂的設定,所以右邊撰寫的設定來覆寫左邊的設定,這樣的話預設的設定都不會被修改到)
Step2 : 接下來在右邊加入
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
Step3 : 然後存檔離開,重新開啟終端機,就可以看到bash並且使用它了。
在終端機上切換其他的shell【重要!!】
如下圖,不需要重新開啟一次vs code或終端機,直接在指令列打shell的名字(例如:powershell)就可以直接切換到該shell使用。
你可以從bash轉成powershell,也可以從powershell轉成cmd,也可以再從cmd轉回bash,只要直接打 powershell
/cmd
/bash
就好了
同場加映 : 在終端機上使用cmder
許多工程師不喜歡windows作業系統內建的簡陋命令提示字元,甚至是PowerShell,所以會去裝這個感覺起來比較有Linux風格的指令工具,那就是 cmder ,而且cmder當然也可以在vs code的終端機裡用。
簡單說一下,cmder是不需要安裝的,直接下載後解壓縮就可以用,有min和full兩個版本,full版包含一些GIT的工具,如果確定電腦已經安裝了GIT的話,直接下載min版來用就可以了。
cmder在vs code裡的設定方式比較不同,也比較麻煩,按照前面的設定方式,只要把cmder的執行路徑設定上去就可以了嘛!但cmder如果這樣設定,它會直接打開cmder程式,而不是在vs code的終端機內執行。
它會直接幫你開一個cmder
接下來再度打開剛才的使用者設定 settings.json
,加入以下設定:
// "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": [
"/k G:\\cmder\\vendor\\init.bat"
],
把剛才設定 bash
的那行註解掉,然後添加下面兩行,以 cmd
當殼,將路徑指向cmder內vendor資料夾裡面的一個啟動檔 init.bat
。
【重要】注意!!!必須以 cmd 當殼,用 bash 會失敗!
設定完成後將vs code關掉,再重新開啟一次。這時候,vs code的終端機運行的就是 cmder
,只是右上顯示的還是 cmd
設定完成後,依然可以用 powershell
/ cmd
/ bash
等指令切換到相對應的shell,但是打 cmder
卻回不來了。這時候建議直接用新增(ctrl + shift + `)的方式增加一個終端機使用,這樣就可以愉快的在其他的shell中切換,始終保留第一個終端機運行cmder。