VSCode的autopep8插件無(wú)法自動(dòng)格式化含中文的utf-8編碼文件錯(cuò)誤的解決方法
一、問(wèn)題及原因
配置autopep8插件并安裝相關(guān)依賴(lài)后,VSCode無(wú)法自動(dòng)格式化含有中文的代碼文件。
終端輸出的報(bào)錯(cuò)信息如下:

從上圖可以看到文件的編碼確實(shí)是UTF-8,因此排除文件編碼錯(cuò)誤的可能性。根據(jù)報(bào)錯(cuò)信息中提示的gbk,推測(cè)是讀取或?qū)懭肓鲿r(shí)編碼錯(cuò)誤。
定位到錯(cuò)誤信息出現(xiàn)的文件位置:

這里直接將第4516行改為
wrap_output(sys.stdout, encoding='utf8').write(fixed_stdin)
是無(wú)效的,在查閱資料后得知這段代碼在從標(biāo)準(zhǔn)輸入流中讀取數(shù)據(jù)時(shí)采用的編碼是默認(rèn)的系統(tǒng)編碼,也即gbk,強(qiáng)制在寫(xiě)入時(shí)轉(zhuǎn)換為UTF-8依然會(huì)報(bào)錯(cuò)
二、解決方法
參考 ComingToy - fix gbk encode error 的提交記錄將相應(yīng)的修改應(yīng)用到插件目錄的autopep8.py文件中即可。
~\.vscode\extensions\ms-python.autopep8-2023.4.0\bundled\libs\autopep8.py
如果不再報(bào)錯(cuò)但無(wú)法格式化,可以將 input_encoding 和 output_encoding 統(tǒng)一設(shè)置為 encoding

vscode中配置環(huán)境
1.vscode安裝python擴(kuò)展以使vscode與python環(huán)境緊密相連,加自動(dòng)提示等功能
2.用戶配置:全局配置
工作區(qū)配置:一般只在當(dāng)前項(xiàng)目生效
3.Alt+Shift+F 按照autopep8進(jìn)行格式化
4.如果python中有大量紅色波浪線警告,需要^P輸入setting.json,在文件中輸入"python.linting.enabled": false
5.搭建django開(kāi)發(fā)環(huán)境:
conda activate mydjango
django-admin startproject mysite .
python manage.py startapp app01
python manage.py runserver
#launch.json為django的啟動(dòng)文件(運(yùn)行和調(diào)試)
6.搭建flask環(huán)境
注意:flask的項(xiàng)目文件為手動(dòng)創(chuàng)建,django為人工
//anaconda終端和vscode終端同理
//anaconda里新建python環(huán)境:conda create -n flask python
//conda env list
//conda remove -n flask --all 刪除環(huán)境(注意在base下)
新建app.py:
from flask import Flask
生成.vscode文件:因?yàn)橹苯哟蜷_(kāi)文件夾得到的代碼并不完整,因此需要Ctrl+shift+p
打開(kāi)工作區(qū)設(shè)置,即生成了settings.json文件配置,注意,之后在debug配置文件也是在這里生成(
注意一下使django還是flask
)
到此這篇關(guān)于VSCode的autopep8插件無(wú)法自動(dòng)格式化含中文的utf-8編碼文件錯(cuò)誤的解決方法的文章就介紹到這了,更多相關(guān)VSCode autopep8無(wú)法格式化含中文的utf8文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

網(wǎng)絡(luò)工程師必備的6款配置文件編輯神器:替代Notepad++!
本期文章介紹了六種網(wǎng)工必備工具,這些工具是網(wǎng)絡(luò)工程師日常工作中必不可少的,也是那些立志成為網(wǎng)絡(luò)工程師的人應(yīng)該熟悉的2026-04-13
首個(gè)版本v1.111已上線! VS Code開(kāi)啟周更狂飆模式
026年3月10日,微軟宣布將Visual Studio Code(VS Code)更新節(jié)奏從月更提速至周更,并發(fā)布首個(gè)周更版本v1.1112026-03-11
AI直接調(diào)試瀏覽器! VS Code重大更新發(fā)布
還在手動(dòng)打開(kāi)瀏覽器、點(diǎn)擊按鈕、檢查控制臺(tái)報(bào)錯(cuò)?太累了!現(xiàn)在,最新的VS Code 1.110中AI可以直接調(diào)試瀏覽器2026-03-10
vc 6.0代碼是正確編譯無(wú)法運(yùn)行怎么解決?
今天帶大家來(lái)共同學(xué)習(xí)VC++6.0無(wú)法正常運(yùn)行怎么辦?下面就是詳細(xì)完整的操作步驟,快跟小編一起來(lái)學(xué)習(xí)一下2026-02-27
vscode調(diào)試c代碼始終找不到exe可執(zhí)行文件的詳細(xì)及解決辦法
在 VS Code 中調(diào)試 C++ 項(xiàng)目時(shí),常見(jiàn)報(bào)錯(cuò):“無(wú)法啟動(dòng)調(diào)試會(huì)話:找不到可執(zhí)行文件”,這個(gè)問(wèn)題問(wèn)題通常是由于環(huán)境配置不當(dāng)、缺少編譯步驟、路徑設(shè)置錯(cuò)誤、或是launch.json2026-02-27
vscode入門(mén)! 小白都能看懂的VS Code保姆級(jí)級(jí)使用教程
相對(duì)于其它前端工具來(lái)說(shuō),VSCode顯得更加的流暢,今天就將我的學(xué)習(xí)經(jīng)歷和大家分享一下,希望可以幫助到有需要的人2026-02-27
2026年真正值得裝、用得上、不雞肋的 VSCode 插件,其實(shí)沒(méi)那么多——挑10個(gè)“神級(jí)”不難,但得是每天打開(kāi)就用、關(guān)掉就難受的那種2026-02-10
VS Code 和 VSCodium怎么選? vscode 和 vscodium之間的區(qū)別
咱們今天就來(lái)聊聊 Visual Studio Code (VS Code) 和 VSCodium的相似與區(qū)別,詳細(xì)請(qǐng)看下文介紹2026-01-10
如何啟用.NET Framework3.5? 一鍵安裝net3.5解決軟件依賴(lài)問(wèn)題
你是否曾在安裝某些軟件時(shí)遇到過(guò)“需要.NET Framework 3.5”的提示?實(shí),只需要幾步簡(jiǎn)單的操作,你就可以輕松解決這個(gè)問(wèn)題2025-10-28
VS Code中Java擴(kuò)展代碼重構(gòu)功能的使用詳解
在軟件開(kāi)發(fā)過(guò)程中,重構(gòu)是一個(gè)非常重要的環(huán)節(jié),重構(gòu)可以提高代碼的可讀性、可維護(hù)性和可擴(kuò)展性,使代碼更加健壯和易于理解,本文將介紹如何使用 VSCode 進(jìn)行 Java 代碼重構(gòu)2025-09-20





