使用vscode進行c/c++開發的時候,輸出報錯亂碼、cpp文件本身亂碼的問題解決
- 問題描述
- 解決方案
- 問題1的解決方案
- 問題2解決方案
問題描述
本篇文章解決兩個問題:
1.當cpp文件出現錯誤的時候,編譯時報錯,但是報錯內容缺是亂碼,如下圖所示
2.cpp文件本身是亂碼,如下圖所示
解決方案
問題1的解決方案
關于問題1,在網上其實沒有找到類似的解決方案,因為大多數答案都是問題2的解決方案,因此在這里記錄一下我摸索出來的方法。
我只摸索出曲線救國的方法,即將所有報錯的中文改為英文,而如何使得中文的報錯能夠正常顯示,我沒有找到好的解決方案。
具體方法為:
打開visual studio installer,點擊修改
。然后點擊語言包,將中文(簡體)取消勾選,勾選英語。然后點擊確定。
然后可能需要重啟電腦,重啟電腦后,打開visual studio,將語言改為英文,更改方法可參考這里,當然也可能語言被自動更改為英文了,這一步可以省略。
不過,無論如何都是要把中文的語言包卸載掉的,如果裝了中文和英文兩種語言包,即使將visual studio的語言改成了英文,在vscode中輸出仍然會是中文。
如下圖所示,.NET framework MSBuild
那一行的信息仍然是錯誤的,這一行的本來內容其實是適用于 .NET Framework MSBuild 版本 17.14.10+8b8e13593
,不過這一行亂不亂碼其實無所謂,我們可以看到下面那兩行的報錯已經是正常的了。
問題2解決方案
關于文件本身是亂碼,這個網上有很多解決方案,例如這里,然而這些方法需要針對每個文件一個個改,不能一勞永逸,能解決問題但是很麻煩。所以這里給出一種永久性的解決方案。
在vscode里面使用快捷鍵ctrl+shift+p
,然后輸入Preferences: Open User Settings (JSON)
,打開用戶設置的json文件。
在setting.json文件里面添加如下內容
"[cpp]": {"files.encoding": "gbk"},"[c]": {"files.encoding": "gbk"},
這樣,無論是使用vscode創建、還是打開c語言相關的文件,都會默認用gbk編碼打開,這樣就與visual studio的默認編碼格式一致,就不會亂碼了。