一、问题及原因
配置autopep8插件并安装相关依赖后,VSCode无法自动格式化含有中文的代码文件。
终端输出的报错信息如下:
从上图可以看到文件的编码确实是UTF-8,因此排除文件编码错误的可能性。根据报错信息中提示的gbk,推测是读取或写入流时编码错误。
定位到错误信息出现的文件位置:
这里直接将第4516行改为
wrap_output(sys.stdout, encoding='utf8').write(fixed_stdin)
是无效的,在查阅资料后得知这段代码在从标准输入流中读取数据时采用的编码是默认的系统编码,也即gbk,强制在写入时转换为UTF-8依然会报错
二、解决方法
参考ComingToy - fix gbk encode error的提交记录将相应的修改应用到插件目录的autopep8.py文件中即可。
~\.vscode\extensions\ms-python.autopep8-2023.4.0\bundled\libs\autopep8.py
如果不再报错但无法格式化,可以将 input_encoding 和 output_encoding 统一设置为 encoding
vscode中配置环境
1.vscode安装python扩展以使vscode与python环境紧密相连,加自动提示等功能
2.用户配置:全局配置
工作区配置:一般只在当前项目生效
3.Alt+Shift+F 按照autopep8进行格式化
4.如果python中有大量红色波浪线警告,需要^P输入setting.json,在文件中输入"python.linting.enabled": false
5.搭建django开发环境:
conda activate mydjango
django-admin startproject mysite .
python manage.py startapp app01
python manage.py runserver
#launch.json为django的启动文件(运行和调试)
6.搭建flask环境
注意:flask的项目文件为手动创建,django为人工
//anaconda终端和vscode终端同理
//anaconda里新建python环境:conda create -n flask python
//conda env list
//conda remove -n flask --all 删除环境(注意在base下)
新建app.py:
from flask import Flask
生成.vscode文件:因为直接打开文件夹得到的代码并不完整,因此需要Ctrl+shift+p
打开工作区设置,即生成了settings.json文件配置,注意,之后在debug配置文件也是在这里生成(
注意一下使django还是flask
)
到此这篇关于VSCode的autopep8插件无法自动格式化含中文的utf-8编码文件错误的解决方法的文章就介绍到这了,更多相关VSCode autopep8无法格式化含中文的utf8文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
- 民办合肥财经职业学院2025年招生简章(含专科人数、录取规则)
- 难过 是啥意思啊
- 甄嬛回宫是哪集
- 税收学专业全国大学排名一览表(2025年最新50强)
- 海贼王明哥第几集被打败
- 什么时间能查高考成绩
- 中报预增什么意思
- 七夕送花祝福语简短句子
- 2023年吉林理科480分能上什么大学?附可以报考的学校名单
- 南京有哪些学校可以上对口单招
- 湖南铁道职业技术学院招生计划(含各专业招生人数、学费)
- 古代的汝是什么意思
- 青岛农业大学排名(含2023-2025年最新排名)
- 2025四川师范大学在内蒙古招生代码查询:含学校代码+专业代码
- 科比多少岁退役
- 名词解释下空燃比
- 山风厉害吗
- 2024年新疆大学录取分数线是多少?全国各省最低分是392
- 毛戈平形象艺术学校学费多少
- 亳州智慧资助如何录入学生信息