当前位置: 代码网 > 科技>软件教程>编程开发 > VSCode的autopep8插件无法自动格式化含中文的utf-8编码文件错误的解决方法

VSCode的autopep8插件无法自动格式化含中文的utf-8编码文件错误的解决方法

2023年09月24日 编程开发 我要评论
VSCode的autopep8插件无法自动格式化含中文的utf-8编码文件错误的解决方法

一、问题及原因

配置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文件内容请搜索代码网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com