一、问题及原因
配置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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
- 华的意思
- g7峰会参与国(g7峰会成员国)
- 我本将心向明月这是什么意思
- 什么叫死缠烂打,死缠烂打意思是什么
- 一起看初雪什么意义
- 千里白云黄曰曛的古诗
- 于是的于偏旁是什么
- 志南和尚的绝句是什么
- 老友记第一季英文版(老友打一字)
- fail-safe
- 什么是新闻,新闻的特点是什么(新闻的特点是什么)
- 2024高考的录取通知书几月份能收到 是快递邮寄吗
- 蝠组词 蝠读音及解释
- 龌蹉和龌龊是一个意思吗
- 蝴蝶的蝴的组词 蝴蝶的蝴的组词和四字成语
- otg是什么东西
- 工程硕士属于什么学历
- 易基价值成长基金净值110010(易基价值成长)
- 拍一拍好玩儿的后缀有哪些 关于拍一拍好玩儿的后缀有哪些
- 骨头汤里的白色主要是什么 骨头汤里的白色主要是什么东西