首页 > 解决方案 > 格式化程序黑色不适用于我的 VSCode ......但为什么?

问题描述

我已经开始使用 Python 和 Django,我在这个领域非常陌生。这是我第一次在这里提出问题......如果有已知的解决方案,我会提前道歉......

当我安装并设置 VSCode 格式化程序“黑色”(将 linter 设置为 flake8 后)时,教程视频导师的一侧会弹出“格式化程序 autopep8 未安装”之类的弹出窗口。安装?'。&我的没有显示该消息。

所以我所做的是...

  1. 在终端上手动输入'pipenv install flack --dev --pre'。
  2. 手动输入“python.formatting.provider”:“black”,到“.vscode”文件夹的“settings.json”。
  3. Setting(VSCode) -> flake8, Python > Linting: Flake8 Enabled (Also modified in: workspace), (勾选) 是否使用 flake8 lint Python 文件

底部代码来自 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
}


我找到了一个“黑色格式化程序”文档。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 ......但最重要的是,现在我担心我是否走在正确的轨道上。

我能听听你的建议吗?请至少有一个方向。谢谢..

标签: pythonvisual-studio-codepython-black

解决方案


我在 VSCode 内部使用黑色,它很摇滚。它释放了您决定如何格式化代码的金属周期。最好从您最喜欢的编辑器中使用它。如果您需要一次格式化大量文件,只需从命令行运行。

首先,检查 settings.json 中是否有这个:

"python.formatting.provider": "black",
"editor.formatOnSave": true,

请记住,可能有 2 个 setting.json 文件:一个在您的主目录中,一个在您的项目 ( .vscode/settings.json) 中。项目内部的占上风。

也就是说,这类问题通常与使用未安装 black 的 python 解释器有关。我建议使用虚拟环境,但首先在状态栏上检查你的 python 解释器:

VSCode 状态栏中的 Python 解释器

如果您没有明确选择解释器,请现在单击状态栏中的 Python 版本。所选路径现在将出现在您的设置文件中:

"python.pythonPath": "Scripts\\python.exe",

现在打开终端。由于您选择了解释器,因此 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: 中的解释器安装黑色即可python -m pip install black

还是行不通?单击 TERMINAL 的“OUTPUT”选项卡兄弟并尝试在“Log”输出中获取更多信息。在下拉菜单中选择它:

vscode的日志输出


推荐阅读