首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在vscode中使用Prettier时,格式化python时出现问题

在vscode中使用Prettier时,格式化python时出现问题
EN

Stack Overflow用户
提问于 2020-12-22 22:47:27
回答 4查看 8.5K关注 0票数 4

在vscode中,我想使用Prettier作为我的默认格式化程序,但不是Python,在Python中我将只使用autopep8。我现在有以下设置:

代码语言:javascript
运行
复制
{
  "workbench.iconTheme": "vscode-icons",
  "workbench.editorAssociations": [
    {
      "viewType": "jupyter.notebook.ipynb",
      "filenamePattern": "*.ipynb"
    }
  ],
  "git.confirmSync": false,
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "python.formatting.provider": "autopep8",
  "explorer.confirmDelete": false,
  "python.showStartPage": false,
  "explorer.confirmDragAndDrop": false
}

当我保存一个python文件时,它会给我一条信息:“扩展名'Pretier - code格式化程序无法格式化等...‘。显然,它仍然使用了错误的python文件格式化程序。我该如何改变这一点?!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-12-23 20:01:37

如果我禁用了Prettier作为默认格式化程序,它将不再在保存时格式化,但我的Python将在保存时由autopep8格式化。考虑到这一点,下面的解决方案对我来说很有效,让它既可以在其他语言上工作,也可以在Python上使用autopep8:

代码语言:javascript
运行
复制
{
  "workbench.iconTheme": "vscode-icons",
  "workbench.editorAssociations": [
    {
      "viewType": "jupyter.notebook.ipynb",
      "filenamePattern": "*.ipynb"
    }
  ],
  "git.confirmSync": false,
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,
  "python.formatting.provider": "autopep8",
  "explorer.confirmDelete": false,
  "python.showStartPage": false,
  "explorer.confirmDragAndDrop": false,
  "python.linting.pylintArgs": ["--load-plugins=pylint_django"],
  "javascript.updateImportsOnFileMove.enabled": "always",
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[python]": {
    "editor.defaultFormatter": "ms-python.python"
  }
}

如果有人找到更好的解决方案,请告诉我!

票数 13
EN

Stack Overflow用户

发布于 2021-03-25 04:49:22

你可以做@round_circle做过的事情,因为这应该是可行的。如果你不想设置一个初始的提供者,比如你可能想使用黑色,你也可以添加到你的settings.json中:

代码语言:javascript
运行
复制
"[python]": {
    "editor.defaultFormatter": null
  },

我碰巧使用的是微软的Python扩展,缺省为autoPep8,这将提示您设置要使用的格式化程序。photo of the prompt to add formatter然后,您可以通过添加以下内容在settings.json中添加您的提供程序:

代码语言:javascript
运行
复制
"python.formatting.provider": <your_formatter>

这也可以在这里引用:VS Code Formatting

票数 2
EN

Stack Overflow用户

发布于 2021-06-04 08:20:36

来自@round答案的有意义的配置片段:

代码语言:javascript
运行
复制
"[python]": {
    "editor.defaultFormatter": "ms-python.python"
  }

添加之后,autopep8可以处理python文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65410758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档