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!)
您好
回覆刪除感謝您的分享
有個問題想請教您
於VScode中找不到"configure Task Runner"(設定工作執行器)的指令
請問有解決的方法嗎??
你好,依照你的描述我可能無法判斷詳細問題來源
刪除可以檢查一下以下可能
1.是否有創建到tsconfig.json (設定完後記得儲存)
2.vs code版本已經不同了,此篇文章對tsconfig.json的內容已經不適合
3.tsconfig.json有其他非此篇文章的內容
建議可以註解或備份看看是哪一塊的指令發生錯誤
很大可能還是無法解決
可以將錯誤訊息複製貼到google看看有沒有其他人有同樣問題
我可能知道你的问题。在最新版的vs code里面已经不能通过这个方式打开task.json了,但你仍然可以通过上方菜单栏-任务-配置任务找到。这个问题之前也困扰过我一段时间,因为vs code更新太频繁了,导致很多网路上的资讯都过时很快。希望能帮到你。
刪除顺便谢谢博主,这个编码方式的问题也困扰我有段时间了。
感謝你的補充~
刪除我可能真的太久沒使用vs code(目前仍以vim為主
版本更新速度頻繁實在是有好有壞,已補上此篇使用的參考版本