Cygwin雖然有但是有點不太想用vim寫 (X
所以就順勢來找個最近頗熱門的vs code (全名Visual Studio Code)了
熱門主要原因是開源吧
而開源的關係也讓它的release頗頻繁,bugs修復也快
但是遇到亂碼有點煩躁=''=
以為無法解決時就解決了OuO
安裝vs code
<<注意>>本篇vs code版本為1.15
下載後幾乎一直下一步就好
安裝python擴充功能
安裝python環境
因為找不到直接使用Cygwin裡面python的方法
所以就再安裝一次
如果用cmd執行python發現找不到
去官網下載後安裝(2跟3似乎差異頗大,我是先用3)
安裝中會有一個選項問是否加入path記得打勾
完成後測試
開始寫code
打開vs code按開啟資料夾
大部分會新增 (命名隨意)
接著按下Ctrl + Shift + P,在框框輸入task,點設定工作執行器
接著點tsconfig.json (json是啥
把出現的東西改成以下後Ctrl + S儲存
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "0.1.0", "command": "python", "isShellCommand": true, "args": [ "${file}" ], "showOutput": "always", "options": { "env": { "PYTHONIOENCODING": "UTF-8" } } }
這樣就算設定完成了,開始寫python囉(終於....
新增檔案
.py結尾 (命名隨意)
用最最簡單的當作範例
s = "大家好,中文不亂碼OuO" print(s)按下Ctrl + Shift + B它就會建置並執行
結果不是亂碼了OuO
後記 (小分析)
我為了不亂碼找了超久@@
主要是依靠tsconfig.json裡的
"options": { "env": { "PYTHONIOENCODING": "UTF-8" } }如果不信邪可以先把這段砍掉執行看看
絕對吐亂碼
問題並非python、vs code而是M$的cmd
因為cmd的編碼是cp950的
所以vs code要用cmd進行輸出時需要轉換成cp950
就會轉換成全亂碼
如果做一些更改如下會有改進
不過因為是硬轉還是會產生亂碼
參考資料:
最佳解:
VSCode Python 配置
其他:
Python print unicode generate error in output window #6269
Python 3 在 Windows 命令提示字元輸出時遇到 CP950 錯誤
[問題] 中文編碼的疑惑..
[問題] python讀檔時不認得中文字?
Re: [問題] utf8 & cp950
str.encode(encoding="utf-8", errors="strict")
vscode下python print 输出乱码怎么解决?
【已解决】BeautifulSoup已经获得了Unicode的Soup但是print出来却是乱码
requests和BeautifulSoup中文编码转换心得
Python 的編碼
[Python] 使用 Visual Studio Code 作為開發環境
Python 3.6.0 syntax error "Missing parentheses in call to 'print' [duplicate]
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)