问题标签 [python-black]
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.
pre-commit - 使用预提交排除一些运行黑色的文件
我想在预提交中配置黑色并从检查任何迁移文件夹中排除预提交。
我的 pyproject.toml 看起来像这样
我还配置了预提交。但是在运行pre-commit run --all-files
黑色格式迁移文件夹时,我如何配置黑色
python - 即使在我暂存以前修改过的文件之后,Git 预提交挂钩也会继续修改文件
我正在运行 git pre-commit并运行 black 作为钩子之一。
现在,当我运行时commit
,黑色失败并说:
我查看了重新格式化的文件,我对它们很好。所以我暂存这些文件并尝试commit
再次运行,但我不断收到与上面相同的消息。我尝试了以下命令但没有成功。
这是我的.pre-commit-config.yaml
文件:
当我执行 git status --short 时,我得到了这个:
当我跑步git commit -m "test"
时,跑步后git add .
,,git add -A
或git add -u
;我明白了:
我不确定我做错了什么;git 似乎没有用黑人格式更新我的提交。我无法通过我的谷歌研究找到任何东西。谢谢!
python - 为什么迁移文件经常被排除在代码格式化之外?
我们正在将黑色代码样式应用于 django 项目。
在我找到的所有教程/示例中(例如在 django cookiecutter和这个博客中),我一直看到 django 的迁移文件从 linter 中排除。
但在我看来,这些仍然是 python 文件。当然,django 可能不会自动生成它们以满足黑色规范。但是,开发人员并不总是编写代码来满足 Black 规范……这就是 linting 的用途!
为什么迁移文件被认为与任何其他 python 文件不同?!
注意,我知道如果您有预先存在的迁移,则可能会更改已经应用的迁移 - 这需要小心第一个应用程序(坦率地说,第一个应用程序到代码库的其余部分也是如此)但肯定不是不这样做的理由?
编辑 - @torxed 要求提供 django 迁移文件的示例
我不确定这会有多大帮助,但是典型的 django 迁移文件可能看起来像这样(在这种情况下,将 char 字段添加到表中):
python - 你如何知道 VS Code 使用的 Python 格式化程序的版本?
如本答案所述,可以检查(并设置)settings.json
VS Code 使用的格式化程序。
对于 Python,我使用black
:
设置.json
我想我发现了一个涉及 的问题black
,但我只能在 VS Code 中重现它,而不是从终端运行它时。
我想知道black
VS Code 正在使用二进制文件的哪个版本(甚至更好的位置)。理想情况下,我还想更改它,以检查我可以(或不能)重现问题的版本。
我确定的是 VS Code没有black
在我的路径上使用二进制文件;即使我将其从路径中删除,自动格式化也会继续工作。(例如mv /home/sam/.local/bin/black /home/sam/.local/bin/black.bak
:)
python - 即使在将 Black 配置为格式化程序后,获取“扩展 'Python Language Basics' 无法格式化 ~'/'”
我正在尝试为 VS Code 设置格式化程序。我想使用黑色,但我很难让它发挥作用。当我尝试使用 Format Document 命令时,我收到一条错误消息,提示“Python 自动格式化:扩展 'Python Language Basics' 无法格式化 ~'/'”。
我遵循了在线教程并完成了以下操作:
- pip3 安装黑色
- 将黑色设置为python格式提供程序(进入设置,找到“Python › Formatting:Provider”,从下拉列表中选择黑色)
- 保存时打开格式
- 将默认格式化程序设置为 null
为什么 VS Code 仍然默认为“Python 语言基础”?如何将其更改为 Black 或 yapf?
python - 使用 Makefile 命令从 Docker 运行 Black 格式化程序
我没有在本地机器上安装 Black,而是尝试从 Docker 容器运行 Black(从 requirements.txt 安装)。我正在寻找添加一个 Makefile 命令来格式化修改后的文件。到目前为止,这是我想出的,它的运行方式是make format
:
这会找到当前分支从 master 分支的点
https://git-scm.com/docs/git-merge-base#_operation_modes:
这将返回从带有 .py 扩展名的 diff 返回的文件名(.py 过滤器可能是矫枉过正?)
https://git-scm.com/docs/git-diff#_description
希望听到一些反馈,或任何类似设置的示例。
python - 黑色不支持“格式选择”命令 - VS Code 错误
我需要在 Vs Code 中缩进我的 python 文件。我按照正常程序,
但我的问题是每次我尝试格式化 python 文件时它都会说
黑色不支持“格式选择”
所以有人可以解释这里出了什么问题?我的python版本是Python 3.7.6
VS代码细节:
python - 如何在 cookiecutter 模板上运行黑色格式?
我正在使用预提交black
和flake8
钩子。
我error: cannot format
在尝试对以下代码进行黑色格式化时得到了这个
是否有指示黑色,跳过/忽略特定于 cookiecutter 的语法?
python - 长字符串不变,python-black能否将其转成multine
前:
运行后black --line-length 80 file.py
:(长字符串不变)
预期的行为(接近这个):
或者
[Q] 长串保持不变,可以python-black
转换成多串吗?如果没有,是否有任何其他工具来完成它?