How to set Python language specific tab spacing in

2019-04-03 15:37发布

问题:

Using VSCode 1.9.0 with the (donjayamanne) Python 0.5.8 extension, is it possible to provide Python specific editor options?

Or more generally speaking, is it possible to provide language specific tab spacing and replacement rules? For example, Python should be tab=4 spaces (replaced as spaces), and Ruby should be tab=2 spaces (replaced). Other languages tend to have their own opinions. However, I only see the general

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

options.

I thought perhaps there was a "python.editor": { } block or perhaps a "python.editor.tabSize" option, but I can't find reference to such, nor have I successfully guessed a working name.

回答1:

I had the same problem today.
This is how I fixed it. Add this lines in setting.json in VSCode:

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

It works like a charm.



回答2:

Python should be tab=4 spaces (replaced as spaces), and Ruby should be tab=2 spaces...

Install the editor config plugin.

ext install EditorConfig

Add an .editorconfig file to your project root with Python and Ruby specific settings:

[*.py]
indent_style = space
indent_size = 4

[*.rb]
indent_style = space
indent_size = 2

These are other supported properties:

tab_width
end_of_line
insert_final_newline
trim_trailing_whitespace

See also:

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

http://editorconfig.org/



回答3:

  1. Editor: Detect Indentation = false (default = true)
  2. Editor: Insert Spaces = true (default)
  3. Editor: Tab Size = 4 (default)