Reputation: 513
How do I enable indentation in Visual Studio Code?
I'm trying to learn Python (new to programming) and need auto-indentation. It worked with the first version I tried, but it doesn't indent after a colon (:
) any more. How can I configure it to automatically indent?
Upvotes: 41
Views: 187622
Reputation: 345
These three setting from vs code website helped me fix the indentation issue.
"python.formatting.autopep8Args": ["--max-line-length", "120", "--experimental"],
"python.formatting.yapfArgs": ["--style", "{based_on_style: chromium, indent_width: 2}"],
"python.formatting.blackArgs": ["--line-length", "100"]
And select one of them as the formatter using:
"python.formatting.provider": "yapf",
Upvotes: 0
Reputation: 183
For me, "Convert Indentation to Tabs" has worked. To do that:
Upvotes: 9
Reputation: 406
Simple solution!
Click the tab size (may show "Spaces: 4") in the bottom right corner and choose Convert Indentation to Tabs or Convert Indentation to Spaces as per your requirement.
Upvotes: 16
Reputation: 1023
I faced similar issues while editing. Select the lines of code you wish to intend and press Ctrl + ] in Windows or CMD+] on Mac.
You can change the indent size in settings. Search for tab size in settings. I use two, by the way.
Upvotes: 7
Reputation: 480
You can install the Visual Studio Code Python extension which will provide intellisense, auto-completion, code formatting, and debugging.
Here is more information on the Python extension, here.
Upvotes: 18
Reputation: 21000
As said there is the Python extension which now do it out of the box, but still don't do a great job, and an example is when you copy and past a whole block into a function or so. It just indents the first line, and that's not a good behavior. Here are two good helpful solutions:
Here is how: - Ctrl+SHIFT+P to open the command palette, then write "key"*, choose *"open keyboard shortcut", and then the keybinding page open, which it's the nice interface for the **keybindings.json. You can open keybindings.json the same way and by choosing "open keyboard shortcut file" (in place of just "open keyboard shortcut"). Give it a look if never have. But here I will go with the nice interface. Know also that you can open that going menu File → Preference → Keyboard Shortcut.
In the keybinding window, in the search bar, paste pyPasteIndent.pasteAndIndent, and then click the + button to add the shortcut and create the keybinding.
The image below shows well how it's done:
Upvotes: 21
Reputation: 329
I installed this extension: Python Indent. It works very well.
Upvotes: 15
Reputation: 566
I faced similar issues switching from PyCharm. The Python Indent extension, which is available in the Visual Studio Code marketplace, works perfectly fine for me.
Upvotes: 3