Formatter black 在我的 VSCode 上不起作用...但为什么呢?
Formatter black is not working on my VSCode...but why?
我已经开始使用 Python 和 Django,我是这个领域的新手。
这是我第一次在这里提问...如果有解决此问题的已知方法,我会提前道歉...
当我安装并设置 VSCode 格式化程序 'black' 时(在将 linter 设置为 flake8 之后),教程视频导师端显示 'formatter autopep8 is not installed. install?' 的弹出窗口。 & 我的没有显示该消息。
所以我所做的是...
- 在终端上手动输入 'pipenv install flack --dev --pre'。
- 手动输入“python.formatting.provider”:“黑色”,到“.vscode”文件夹中的 'settings.json'。
- Setting(VSCode) -> flake8, Python > Linting: Flake8 Enabled (Also modified in: workspace), (勾选框) 是否使用 lint Python 文件薄片 8
底部代码来自 settings.json(在 vscode 文件夹中)。
{
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.enabled": true,
"python.formatting.provider": "black", # input manually
"python.linting.flake8Args": ["--max-line-length=88"] # input manually
}
我找到了一份 'black formatter' 文件。 https://github.com/psf/black & 它说...
python -m black {source_file_or_directory} & 我收到以下错误消息。
Usage: __main__.py [OPTIONS] [SRC]...
Try '__main__.py -h' for help.
Error: Invalid value for '[SRC]...': Path '{source_file_or_directory}' does not exist.
是的,老实说,我不确定我应该设置哪个 source_file_or_directory...但最重要的是现在我担心我是否在正确的轨道上。
我能听听你的建议吗?请至少指明方向。
谢谢..
我认为使用黑色的最佳方式是通过终端。您需要做的就是使用以下命令将其安装在终端上的 pip 上:pip install black
然后当它安装好后,你进入终端并输入:black filename.py
整行是:black filepath/file.py
因此,对于位于桌面上的名为 test.py 的文件,如果在 mac 上:黑色 desktop/test.py
如果您想对多个文件执行此操作,而不是对每个文件单独执行此操作。
就像 camab 说的,你完全可以从命令行运行它:
$ black file.py
您还可以 运行 它在 python 个文件的整个文件夹(目录)上:
例如,如果我有:
src/
| - module/
| | - moduleFile.py
| \ - __init__.py
|
\ - script.py
和运行
$ black src
它将格式化 moduleFile.py
、__init__.py
和 script.py
。
就您的 VSCode 配置而言,我也喜欢 settings.json
{
"editor.formatOnSave": true,
"python.linting.lintOnSave": true,
}
确保每次我按保存时文件都会被检查和格式化。
如果您在 VSCode 中遇到 linting/formatting 的问题,您可以使用“命令面板”(Ctrl+Shift+P) 强制执行以下命令:
- Python: 运行 林丁
- Python: Select 短绒
- 格式化文件
- 格式化文档...
如果确实存在问题,应该会产生视觉弹出式错误。
希望这对您有所帮助,祝您编码愉快!
我从内部使用黑色 VSCode,它很不错。它释放了您决定如何格式化代码的思维周期。最好从您最喜欢的编辑器中使用它。如果您需要一次格式化大量文件,只需从命令行 运行。
首先,检查你的 VSCode settings.json
中是否有这个(使用 Ctrl-P + 设置打开它):
"python.formatting.provider": "black",
"editor.formatOnSave": true,
请记住,可能有 2 个 setting.json 文件:一个在您的主目录中,一个在您的项目中 (.vscode/settings.json
)。以项目里面的为准
就是说,这类问题通常与使用未安装 black 的 python 解释器有关。我建议使用虚拟环境,但首先检查状态栏上的 python 解释器:
如果您没有明确地 select 解释器,请立即单击状态栏中的 Python 版本。 selected 路径曾经出现在项目的设置文件中:
"python.pythonPath": "Scripts\python.exe",
但我想它不会再出现了。
现在打开终端。由于您 select 编辑了您的解释器,您的虚拟环境应该会被 VSCode 自动激活。 运行 python 使用您的解释器路径并尝试导入黑色:
$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import black
>>>
导入失败?问题解决了。只需使用来自 venv 的解释器安装 black:python -m pip install black
.
还是不行?单击终端的“输出”选项卡,并尝试在“日志”输出中获取更多信息。 Select 在下拉菜单中:
如果您使用的是windows操作系统,那么有一个最简单的解决方案:
- 找出你安装黑包的位置。它可以在
AppData/python/scripts
- 单击开始菜单并键入 “编辑系统环境变量” 和 select 它。
- 现在单击环境变量并双击 'System Variable' 部分的 'path' 进行编辑。
- 现在在此处添加包路径,如
"Appdata/path/scripts;"
希望现在黑色在每次保存时都能正常工作。
这个解决方案很适合我。
注意:现在您可以从 CLI 使用黑色。
为那些仍然无法解决 vs 代码中的 'black' 格式问题的人附上我的发现。
首先,你必须在全局或本地安装 black(如果你使用像 conda 这样的虚拟环境)
然后,确保您的 vs 设置如下,将 python 默认格式化程序提供程序设置为 'black':
最后,打开你的settings.json你的vs代码,为它添加下面的代码段。
"[python]": {
"editor.defaultFormatter": null,
"editor.insertSpaces": true,
"editor.tabSize": 4,
"editor.formatOnSave": true
}
重点是:
"editor.defaultFormatter": null
如果你仍然使用"editor.defaultFormatter": "black"那么多旧帖,'black' 格式化程序将无法在较新的 vs 代码中使用。
致所有尝试过的人:)。
黑色在 VSCode 中不起作用,如果你有
- 语法错误,
- 一个IPython魔法(例如,
%matplotlib inline
)。
运行 文件上终端的黑色揭示了这些问题。
我遇到了同样的问题,唯一的解决办法就是删除
"python.formatting.blackArgs": ["--skip-numeric-underscore-normalization"],
来自 setting.json。它没有意义,但它有效。
对于看到此内容的人,上述解决方案 none 有效。
如果将黑色路径设置为其绝对位置,则可能会解决问题。
对我来说,问题不是直接变黑,而是它读取以查找配置设置的无效项目设置文件。根本原因未在任何地方记录。
我通过检查选择了 Python
扩展名的 OUTPUT
选项卡找到了原因。它显示 black 被调用,显然没有报告问题:
./.venv/bin/python -m black --diff --quiet ./myfile.py
cwd: .
然而,当我在终端中 运行 执行相同的命令时,我收到了错误报告:
Error: Could not open file './pyproject.toml': Error reading configuration file: Invalid value (at line 18, column 10)
修复此问题后,我可以手动格式化我的代码,format on save
也回来了。
有一个新的扩展,目前 pre-release,用于黑色格式。参见 v1.67 Release Notes, Python Black formatting。
来自自述文件 (vscode Marketplace: Black Formatter):
用法
在 Visual Studio 代码中安装后,“Black Formatter”将可用作 python 文件的格式化程序。请 select “Black Formatter”(扩展名 id:ms-python.black-formatter)作为默认格式化程序。您可以通过使用上下文菜单(右键单击编辑器中打开的 python 文件)和 select“格式化文档...”来执行此操作,或者您可以将以下内容添加到您的设置中:
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter"
}
保存时格式化
您可以通过在设置中设置以下值来为 python 启用保存格式:
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
}
我已经开始使用 Python 和 Django,我是这个领域的新手。 这是我第一次在这里提问...如果有解决此问题的已知方法,我会提前道歉...
当我安装并设置 VSCode 格式化程序 'black' 时(在将 linter 设置为 flake8 之后),教程视频导师端显示 'formatter autopep8 is not installed. install?' 的弹出窗口。 & 我的没有显示该消息。
所以我所做的是...
- 在终端上手动输入 'pipenv install flack --dev --pre'。
- 手动输入“python.formatting.provider”:“黑色”,到“.vscode”文件夹中的 'settings.json'。
- Setting(VSCode) -> flake8, Python > Linting: Flake8 Enabled (Also modified in: workspace), (勾选框) 是否使用 lint Python 文件薄片 8
底部代码来自 settings.json(在 vscode 文件夹中)。
{
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.enabled": true,
"python.formatting.provider": "black", # input manually
"python.linting.flake8Args": ["--max-line-length=88"] # input manually
}
我找到了一份 'black formatter' 文件。 https://github.com/psf/black & 它说... python -m black {source_file_or_directory} & 我收到以下错误消息。
Usage: __main__.py [OPTIONS] [SRC]...
Try '__main__.py -h' for help.
Error: Invalid value for '[SRC]...': Path '{source_file_or_directory}' does not exist.
是的,老实说,我不确定我应该设置哪个 source_file_or_directory...但最重要的是现在我担心我是否在正确的轨道上。
我能听听你的建议吗?请至少指明方向。 谢谢..
我认为使用黑色的最佳方式是通过终端。您需要做的就是使用以下命令将其安装在终端上的 pip 上:pip install black 然后当它安装好后,你进入终端并输入:black filename.py
整行是:black filepath/file.py 因此,对于位于桌面上的名为 test.py 的文件,如果在 mac 上:黑色 desktop/test.py 如果您想对多个文件执行此操作,而不是对每个文件单独执行此操作。
就像 camab 说的,你完全可以从命令行运行它:
$ black file.py
您还可以 运行 它在 python 个文件的整个文件夹(目录)上:
例如,如果我有:
src/
| - module/
| | - moduleFile.py
| \ - __init__.py
|
\ - script.py
和运行
$ black src
它将格式化 moduleFile.py
、__init__.py
和 script.py
。
就您的 VSCode 配置而言,我也喜欢 settings.json
{
"editor.formatOnSave": true,
"python.linting.lintOnSave": true,
}
确保每次我按保存时文件都会被检查和格式化。
如果您在 VSCode 中遇到 linting/formatting 的问题,您可以使用“命令面板”(Ctrl+Shift+P) 强制执行以下命令:
- Python: 运行 林丁
- Python: Select 短绒
- 格式化文件
- 格式化文档...
如果确实存在问题,应该会产生视觉弹出式错误。
希望这对您有所帮助,祝您编码愉快!
我从内部使用黑色 VSCode,它很不错。它释放了您决定如何格式化代码的思维周期。最好从您最喜欢的编辑器中使用它。如果您需要一次格式化大量文件,只需从命令行 运行。
首先,检查你的 VSCode settings.json
中是否有这个(使用 Ctrl-P + 设置打开它):
"python.formatting.provider": "black",
"editor.formatOnSave": true,
请记住,可能有 2 个 setting.json 文件:一个在您的主目录中,一个在您的项目中 (.vscode/settings.json
)。以项目里面的为准
就是说,这类问题通常与使用未安装 black 的 python 解释器有关。我建议使用虚拟环境,但首先检查状态栏上的 python 解释器:
如果您没有明确地 select 解释器,请立即单击状态栏中的 Python 版本。 selected 路径曾经出现在项目的设置文件中:
"python.pythonPath": "Scripts\python.exe",
但我想它不会再出现了。
现在打开终端。由于您 select 编辑了您的解释器,您的虚拟环境应该会被 VSCode 自动激活。 运行 python 使用您的解释器路径并尝试导入黑色:
$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import black
>>>
导入失败?问题解决了。只需使用来自 venv 的解释器安装 black:python -m pip install black
.
还是不行?单击终端的“输出”选项卡,并尝试在“日志”输出中获取更多信息。 Select 在下拉菜单中:
如果您使用的是windows操作系统,那么有一个最简单的解决方案:
- 找出你安装黑包的位置。它可以在
AppData/python/scripts
- 单击开始菜单并键入 “编辑系统环境变量” 和 select 它。
- 现在单击环境变量并双击 'System Variable' 部分的 'path' 进行编辑。
- 现在在此处添加包路径,如
"Appdata/path/scripts;"
希望现在黑色在每次保存时都能正常工作。
这个解决方案很适合我。
注意:现在您可以从 CLI 使用黑色。
为那些仍然无法解决 vs 代码中的 'black' 格式问题的人附上我的发现。
首先,你必须在全局或本地安装 black(如果你使用像 conda 这样的虚拟环境)
然后,确保您的 vs 设置如下,将 python 默认格式化程序提供程序设置为 'black':
最后,打开你的settings.json你的vs代码,为它添加下面的代码段。
"[python]": {
"editor.defaultFormatter": null,
"editor.insertSpaces": true,
"editor.tabSize": 4,
"editor.formatOnSave": true
}
重点是:
"editor.defaultFormatter": null
如果你仍然使用"editor.defaultFormatter": "black"那么多旧帖,'black' 格式化程序将无法在较新的 vs 代码中使用。
致所有尝试过的人:)。
黑色在 VSCode 中不起作用,如果你有
- 语法错误,
- 一个IPython魔法(例如,
%matplotlib inline
)。
运行 文件上终端的黑色揭示了这些问题。
我遇到了同样的问题,唯一的解决办法就是删除
"python.formatting.blackArgs": ["--skip-numeric-underscore-normalization"],
来自 setting.json。它没有意义,但它有效。
对于看到此内容的人,上述解决方案 none 有效。 如果将黑色路径设置为其绝对位置,则可能会解决问题。
对我来说,问题不是直接变黑,而是它读取以查找配置设置的无效项目设置文件。根本原因未在任何地方记录。
我通过检查选择了 Python
扩展名的 OUTPUT
选项卡找到了原因。它显示 black 被调用,显然没有报告问题:
./.venv/bin/python -m black --diff --quiet ./myfile.py
cwd: .
然而,当我在终端中 运行 执行相同的命令时,我收到了错误报告:
Error: Could not open file './pyproject.toml': Error reading configuration file: Invalid value (at line 18, column 10)
修复此问题后,我可以手动格式化我的代码,format on save
也回来了。
有一个新的扩展,目前 pre-release,用于黑色格式。参见 v1.67 Release Notes, Python Black formatting。
来自自述文件 (vscode Marketplace: Black Formatter):
用法
在 Visual Studio 代码中安装后,“Black Formatter”将可用作 python 文件的格式化程序。请 select “Black Formatter”(扩展名 id:ms-python.black-formatter)作为默认格式化程序。您可以通过使用上下文菜单(右键单击编辑器中打开的 python 文件)和 select“格式化文档...”来执行此操作,或者您可以将以下内容添加到您的设置中:
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter"
}
保存时格式化
您可以通过在设置中设置以下值来为 python 启用保存格式:
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
}