The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

從命令提示字元中開啟 Visual Studio Code 如何避免顯示惱人的偵錯訊息

由於我的 Visual Studio Code 大部分時候都是在命令提示字元下啟動,所以只要用 code . 就可以快速啟動 Visual Studio Code 並自動開啟目前所在資料夾。不過不知道從哪個版本開始,我在啟動 Visual Studio Code 之後,卻開始在原本所在的命令提示字元視窗中出現一堆惱人的偵錯訊息,本篇文章試圖解析這個現象,並提出解決辦法。

你可以從下圖得知,當我在命令提示字元下啟動 Visual Studio Code 之後,雖然執行命令的所有權已經回到了命令提示字元,但是卻出現了一堆奇怪的偵錯訊息,這將會干擾我原本在命令提示字元的作業,而且你在操作 Visual Studio Code 的同時,這個命令提示字元視窗還會不斷的產生訊息,這個現象非常困擾著我。

image_thumb[3]

 

這個時候你如果你在命令提示字元視窗中按下 Ctrl+C 的話,竟然剛剛開啟的 Visual Studio Code 會突然關閉,就好像 APP 閃退那種感覺,所有編輯中的檔案也將不會存檔,所有在 Visual Studio Code 中做到一半的工作就這樣硬生生被中斷掉。

image[14]

 

幾經研究之後,我終於發現原來是執行檔路徑的問題,你如果有跟我一樣的情況,你可以試著輸入 where code 命令,查詢 Visual Studio Code 執行檔的實際路徑在哪!

image[19]

 

看著這張圖,不禁讓人納悶,為什麼要執行 code 命令,會有 4 個執行檔與 2 個不同的資料夾呢?而且第一個順位是 C:\Program Files (x86)\Microsoft VS Code\Code.exe,執行這支執行檔看起來沒甚麼問題啊,以前都沒有這種狀況,怎麼最近有了呢?

接著我試著用另一個 C:\Program Files (x86)\Microsoft VS Code\bin\code.cmd 來執行 Visual Studio Code 程式,結果竟然問題就消失了。這才發現,原來我的 PATH 環境變數中,竟然出現了兩個不同的 Visual Studio Code 執行檔路徑,如下圖示:

image[24]

 

你只要把 C:\Program Files (x86)\Microsoft VS Code 這個路徑從 PATH 環境變數中刪除,只要保留 C:\Program Files (x86)\Microsoft VS Code\bin 路徑即可,以後就可以順利的從命令提示字元視窗啟動 Visual Studio Code 了! ^_^

 

我最後看了一下 code.cmd 這個批次檔的內容,發現他會自動去執行 C:\Program Files (x86)\Microsoft VS Code\Code.exe 執行檔,而且預設執行 Atom Shell (Electron) 的時候會透過 Node.js 來啟動他,而 Atom Shell 在執行的過程中會自動輸出一些偵錯資訊,所以才會導致這次事件。

image[29]

 

由於透過 code.cmd 批次檔利用 CALL 呼叫了 Code.exe 程式,所以這個從批次檔中被執行的 Code.exe 是執行在一個全新的 Context 底下,因此 Visual Studio Code 在執行的時候的任何輸出,都不會影響原本命令提示字元下的任何內容,也就做出了基本隔離,所以現在我們的命令提示字元視窗終於乾淨多囉! ^__^

 

相關連結