64

将 VSCode 1.9.0 与 (donjayamanne) Python 0.5.8 扩展一起使用,是否可以提供 Python 特定的编辑器选项?

或者更一般地说,是否可以提供特定语言的制表符间距和替换规则?例如 Python 应该是 tab=4 个空格(替换为空格),Ruby 应该是 tab=2 个空格(替换为空格)。其他语言往往有自己的观点。但是,我只看到一般

"editor.tabSize": 4,
"editor.insertSpaces": true,

选项。

我想也许有一个"python.editor": { }块或一个"python.editor.tabSize"选项,但我找不到这样的参考,也没有成功猜到一个工作名称。

4

5 回答 5

154

我今天遇到了同样的问题。
这就是我修复它的方法。在 VSCode 的 setting.json 中添加以下行:

"[python]": {
  "editor.insertSpaces": true,
  "editor.tabSize": 4  
}

它就像一个魅力。

于 2018-02-07T16:52:03.020 回答
10

Python 应该是 tab=4 个空格(替换为空格),而 Ruby 应该是 tab=2 个空格...

安装编辑器配置插件。

ext install EditorConfig

.editorconfig使用 Python 和 Ruby 特定设置将文件添加到项目根目录:

[*.py]
indent_style = space
indent_size = 4

[*.rb]
indent_style = space
indent_size = 2

这些是其他受支持的属性:

tab_width
end_of_line
insert_final_newline
trim_trailing_whitespace

也可以看看:

https://github.com/editorconfig/editorconfig-vscode

http://editorconfig.org/

于 2017-02-09T03:16:54.457 回答
8
  1. 编辑器:检测缩进 = false(默认 = true)
  2. 编辑器:插入空格 = true(默认)
  3. 编辑器:选项卡大小 = 4(默认)
于 2019-02-08T19:31:27.917 回答
7

第一定位设置

点击File > Preferences > Settings

在此处输入图像描述

第二次编辑设置

键入settigns.py并单击[JSON]部分Edit settings.json

在此处输入图像描述

第三次添加 pyton 配置

"[python]": {
  "editor.insertSpaces": true,
  "editor.tabSize": 4
}
于 2021-06-28T13:59:32.007 回答
6

对于仍然面临问题并发现默认答案没有解决您的问题的任何人,这里有一个基于vscode github 上的讨论/问题的方法。

问题很可能源于 vscode 及其扩展自行决定如何缩进代码这一事实。一些扩展不选择缩进,而另一些则选择,更糟糕的是 vscode 似乎“记住”了文件中的缩进。因此,一旦出现错误的缩进,人们就会体验到建议的答案在该语言中不起作用。这是因为 vscode 也会尝试“检测缩进”。如果自动检测认为它必须以不符合您的用户设置的方式缩进,这会导致一个主要问题。"editor.detectIndentation" : false幸运的是,除了接受的答案指定的值之外,修复程序只是通过添加到全局或语言设置来关闭它。

分步指南

  1. 使用 ctrl+shift+p 并写入“设置”
  2. 点击“打开设置”
  3. 将以下内容添加到您的 json 脚本中(请记住,字段需要以逗号结尾,如果后面跟着另一个字段)
"[python]": {
        "editor.detectIndentation" : false,
        "editor.insertSpaces": true,
        "editor.tabSize": 4   
    }

将数字“4”更改为您希望用于缩进的空格数。

于 2021-05-14T15:57:23.410 回答