How to set Python language specific tab spacing in

2019-04-03 15:28发布

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.

3条回答
Ridiculous、
2楼-- · 2019-04-03 16:04
  1. Editor: Detect Indentation = false (default = true)
  2. Editor: Insert Spaces = true (default)
  3. Editor: Tab Size = 4 (default)
查看更多
可以哭但决不认输i
3楼-- · 2019-04-03 16:06

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.

查看更多
做个烂人
4楼-- · 2019-04-03 16:06

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/

查看更多
登录 后发表回答