【问题标题】:In VS Code I don't want Black to format my settings.json在 VS Code 中,我不想让 Black 格式化我的 settings.json
【发布时间】:2020-04-08 13:16:06
【问题描述】:

我想为我的 Python 文件使用 Black 格式化程序,但不用于我的 JSON 设置。

我在 settings.json 中设置了这些:

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

我尝试通过将以下内容添加到 settings.json 来使用 --exclude 标记:

    "python.formatting.blackArgs": [
        "--exclude /*\\.json/"
    ],

相当于使用black --exclude /*\.json/进行命令行调用

我也试过了

    "python.formatting.blackArgs": [
        "--exclude /*\\.json/"
    ],

基于这篇文章:VS Code Python + Black formatter arguments - python.formatting.blackArgs

但是,它仍在格式化我的 settings.json。

【问题讨论】:

    标签: python visual-studio-code vscode-settings


    【解决方案1】:

    您还可以通过以下方式禁用 JSON 格式:

    • 使用 [ctrl+,] 进入首选项并禁用 JSON > Format: Enable
    • 打开 settings.json 文件(使用 [ctrl+shift+p] 打开调色板并搜索“settings json”)并添加以下行:
      "json.format.enable": false
      

    或者您也可以通过在 settings.json 文件中添加此设置来将格式限制为 python 文件:

    "[python]": {
       "editor.formatOnSave": true
     }
    

    【讨论】:

      【解决方案2】:

      Black 不格式化 JSON。发生的事情是 VS Code 有它自己包含的 JSON 格式化程序,这就是格式化你的 settings.json 的原因。您是否打开了类似"editor.formatOnSave" 的设置?如果是这样,那么听起来您只想将其范围限定为 Python 文件,例如:

      "[python]": {
        "editor.formatOnSave": true
      }
      

      【讨论】:

      • 不确定 VC 代码,因为我不使用它。 Black 确实格式化了 json。
      【解决方案3】:

      Black 确实格式化了 JSON,对我来说,打破了它:

      ╰─➤  black proj/
      reformatted proj/schema.json
      All done! ✨ ? ✨
      1 file reformatted.
      
      ╰─➤  git diff proj/schema.json | wc -l
      299
      

      【讨论】:

      • 对于递归搜索,black 将尝试格式化与--include 正则表达式匹配的任何文件,默认为\.pyi?$。也许您的项目有不同的配置?
      猜你喜欢
      • 2020-08-18
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      • 2020-01-14
      • 2021-07-05
      • 2014-06-26
      • 1970-01-01
      相关资源
      最近更新 更多