问题标签 [autopep8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - VS Code Python autopep8 不支持 2 个空格悬挂缩进
我正在尝试让 autopep8 正确缩进 Python 代码,其中包含 2 个空格而不是 4 个空格。我正在使用带有 Python 扩展的 VS Code,它使用 autopep8 进行格式化。我在这里发现 autopep8 可以配置为使用 2 个空格
但这对我不起作用。
我的情况是这样的。当我按下回车键时,它会正确地开始下一行,其缩进与前一行相同。在左括号后按回车键,它会正确地以另外 2 个空格开始新行。但是当我粘贴或保存时(我将“editor.formatOnPaste”和“editor.formatOnSave”设置为true),令人讨厌的事情发生了:括号内的所有2空格缩进都变成了4(其他2空格缩进不受影响) . 为什么要这样做,我怎样才能让它到处都是 2 个空格?
====编辑====
我发现 pylint 错误Wrong hanging indentation (remove 2 spaces). [bad-continuation]
。这是因为我的 pylintrc 有indent-after-paren=2
. 我想知道 autopep8 或其他 Python 格式化程序是否可以设置此属性?
pylint - 如何使 pylint、flake8 或 pycodestyle 自动纠正错误?
我已经在我在 Ubuntu 18.04 上使用的 VM 上正确安装了所有上述模块。在特定脚本或文件夹上运行它们中的任何一个时,它们会正确识别样式错误并将其输出到控制台中。例如:
但是,代码中仍然存在相同的样式错误。如何使它们自动更正?
python - autopep8 似乎没有找到配置文件?
根据 autopep8 的文档(此处:https ://github.com/hhatto/autopep8#configuration ),如果我在我的 git repo 的根目录中放置一个名为“setup.cfg”的文件,类似于
那么它应该选择那个配置。
我通过 pre-commit 钩子使用 autopep8,这里:https ://github.com/pre-commit/mirrors-autopep8
我能说的最好的,它没有找到 setup.cfg。我在同一目录中还有一个用于 flake8 的 .flake8 文件 - flake8 的预提交挂钩可以轻松获取它。
我发现虽然 autopep8 仅在修改后的文件上运行(很好),但它不排除 *_gui.py
这是一个错误吗?难道我做错了什么?
python - Python 自动格式化增加了额外的空格
我遇到的问题与我的 Python 文件的 Visual Studio Code 中的自动格式化有关。
我喜欢在 Python 中使用制表符,因为它更容易保持一致并更快地键入代码;但是,当我在 Visual Studio Code 上保存时,保存时的自动格式会为每一行添加一个额外的空间。这意味着 python 脚本可以工作,但结构看起来不正常。
我试过禁用美化,它仍然发生。我不认为更漂亮的自动格式格式化 python 反正。我尝试检查设置 JSON 文件,但我认为那里也没有任何内容。
设置.json:
这是保存格式之前的示例脚本:
以下是保存后发生的情况:
这在以前没有发生过。让我知道是否有任何令人困惑或需要更多信息
python - vscode autopep8 不运行
我刚刚在vscode中运行autopep8,系统报两个错误:
错误:命令失败:autopep8 c:\Users\Administrator\Desktop\Python\从入门到实践\试一试\5-10.py用法:autopep8 [-h] [--version] [-v] [-d ] [-i] [--global-config 文件名] [--ignore-local-config] [-r] [-jn] [-pn] [-a] [--experimental] [--exclude globs] [ --list-fixes] [--ignore errors] [--select errors] [--max-line-length n] [--line-range line line] [--hang-closing] [--exit-code ] [files [files ...]] autopep8: error: autopep8 只接受一个文件名作为参数,除非使用“--in-place”或“--diff”参数
和
用法:autopep8 [-h] [--version] [-v] [-d] [-i] [--global-config 文件名] [--ignore-local-config] [-r] [-jn] [ -pn] [-a] [--experimental] [--exclude globs] [--list-fixes] [--ignore errors] [--select errors] [--max-line-length n] [-- line-range line line] [--hang-closing] [--exit-code] [files [files ...]] autopep8: error: autopep8 只接受一个文件名作为参数,除非“--in-place”或使用“--diff”参数
有谁知道为什么?我尽力了,但也不知道该怎么办。
我在用:
扩展:Python-autopep8
VS代码:1.33.1
python - 如何将多行 Python 代码转换为单行?
我有一些代码,例如:
它有额外的空格和缩进。我想以某种方式将其转换为一行。
我试过autopep8.fix_code(code)
了,但它保持原样。
我还希望此代码位于一行:
python - 如何在 Mac 上将 autopep8 安装到 python 3x 中?
我有一台 Mac 并安装了最新版本的 Python 3.x,我下载/安装了 autopep8,但它已安装到 Python 2 目录中。我需要将 autopep8 安装在 Python 3 目录中。可以这样做吗?
$ pip install autopep8 $ autopep8 在 ./Library/Python/2.7/lib/python/site-packages (1.4.4)
python - vscode python格式化autopep8禁用E266
我正在尝试将 Visual Studio Code 设置为使用autopep8
但忽略 E266(块注释的前导 '#' 太多)以允许注释中的 Markdown 子标题的格式。
--ignore 设置似乎适用于其他错误,如 E302,但不适用于 E266。
我的格式化配置如下,E266 仍然被强制执行,即使 E302 被忽略:
使用上面的配置,autopep8 将忽略 E302(因此它不会在 def 之前插入行),但它会继续删除每个 E266 注释中的额外 #。
我可以将我的 Linter 设置为忽略 E266,这样它就不会在 UI 中加下划线,但不会在修改代码的 Formatter 中加下划线。这是运行良好的 Linter 配置
是否存在类似于 E266 的重叠规则导致格式化程序在忽略 E266 的情况下仍进行更改?不会出现,因为忽略 E266 时 Linter 无法识别正在编辑的行。
Example.py用于示例使用
visual-studio-code - VSCode 在保存时不自动格式化
Vscode 没有在保存时格式化我的代码。
因此,我的 vscode 版本是:
- Vscode 1.37.0(作为错误拍摄的一部分对其进行了更新,不确定以前的版本,但这也不起作用)
- autopep8 1.4.4 (pycodestyle: 2.5.0)
我的 settings.json 看起来像这样:
为什么保存时自动格式化不起作用?
补充说明:
- 这正确格式化了我的文件:
python -m autopep8 --max-line-length 120 --in-place --aggressive --aggressive my_dirty_code.py
- 我可以
Formatting with autopep8
在保存的任务栏中看到
python - Autopep8 和预提交不遵守 --global-config
我正在尝试将 pre-commit 与运行命令的 autopep8 一起使用pre-commit run --all-files
。我的树和文件如下:
在.pre-commit-config.yaml
:
在.flake8
:
但是,当我运行时pre-commit run --all-files
,我的 .flake8 文件没有被拾取,所以我尝试将 --global-config 添加到 .flake8:
但这只会导致错误:
我究竟做错了什么?
我的预提交版本是 1.18.2。