• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 怀卉1097 | 发布时间: 2025-6-20 19:41| 查看数: 30| 评论数: 0|帖子模式

    一、问题及原因

    配置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文件中即可。
    1. ~\.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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/softjc/903049.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表