What is the equivalent of Ctrl + K + F and Ctrl + K + D on Windows in Visual Studio for formatting, or "beautifying" code in the Visual Studio Code editor?
29 Answers
The code formatting is available in Visual Studio Code through the following shortcuts:
- On Windows Shift + Alt + F
- On Mac Shift + Option + F
- On Linux Ctrl + Shift + I
Alternatively, you can find the shortcut, as well as other shortcuts, through the 'Command Palette' provided in the editor with Ctrl +Shift+ P (or Command + Shift + P on Mac), and then searching for format document.
For unsaved snippets
Open command palette (Win: F1 or Ctrl+Shift+P)
Find 'Change Language Model'
Select language e.g.
json
. By now syntax should be highlighted.Format document (e.g. Open Command Palette -> 'Format Document')
Unformat
- Select text
- Command Palette -> Join Lines
'Show the pics'
Code Formatting Shortcut:
Visual Studio Code on Windows - Shift + Alt + F
Visual Studio Code on MacOS - Shift + Option + F
Visual Studio Code on Ubuntu - Ctrl + Shift + I
You can also customize this shortcut using a preference setting if needed.
Code Formatting While Saving the File:
Visual Studio Code allows the user to customize the default settings.
If you want to auto format your content while saving, add the below code snippet in the work space settings of Visual Studio Code.
Menu File → Preferences → Workspace Settings
{
// Controls if the editor should automatically format the line after typing
"beautify.onSave": true,
"editor.formatOnSave": true,
// You can auto format any files based on the file extensions type.
"beautify.JSfiles": [
"js",
"json",
"jsbeautifyrc",
"jshintrc",
"ts"
]
}
Note: now you can auto format TypeScript files. Check my update.
Visual Studio Code 1.6.1 supports "Format On Save" which will automatically pick up relevant installed formatter extensions and format the whole document on each save.
Enable "Format On Save" by setting
"editor.formatOnSave": true
And there are available keyboard shortcuts (Visual Studio Code 1.7 and above):
Format the whole document: Shift + Alt + F
Format Selection only: Ctrl + K, Ctrl + F
For Fedora
- Click
File
->Preferences
->Keyboard shortcuts
. - Under
Default Keyboard Shortcuts
, search (Ctrl + F) foreditor.action.format
.
Mine read "key": "ctrl+shift+i"
You can change it as well. Refer to this answer on how to... or if you are feeling a little lazy to scroll up:
You can add a keybinding in "Preferences->Keyboard shortcuts"
{ "key": "cmd+k cmd+d", "command": "editor.action.format" }
Or Visual Studio like:
{ "key": "ctrl+k ctrl+d", "command": "editor.action.format" }
Please note: cmd key is only for Macs. For Windows and Fedora (Windows keyboard) use Ctrl
EDIT:
As per Visual Code version 1.28.2
this is what I found.
editor.action.format
no longer exists. It has now been replaced by editor.action.formatDocument
and editor.action.formatSelection
.
Type editor.action.format
in the search box to view existing shortcuts.
To change the key combinations follow these steps:
- Click
editor.action.formatDocument
oreditor.action.formatSelection
- A pen like icon appears to the left - click it.
- A pop-up appears. Press the desired key combination and press enter.
For some reason Alt + Shift + F didn't work for me on Mac Visual Studio Code 1.3.1, and actually the command "Format Document" don't worked at all. But command Formatter worked very well.
So you can use Command + Shift + P and type Formatter or make your own shortcut in menu File → Preferences → Keyboard Shortcuts → Command + K Command + S then type Formatter and add your shortcut.
See an example:
While changing the default behavior for Visual Studio Code requires an extension, you may override the default behavior in the workspace or user level. It works for most of the supported languages (I can guarantee HTML, JavaScript, and C#).
Workspace level
Benefits
- Does not require an extension
- Can be shared among teams
Outcomes
.vscode/settings.json
is created in the project root folder
How To?
Go to: Menu File → Preferences → Workspace Settings
Add and save
"editor.formatOnType": true
to settings.json (which overrides default behavior for the project you work on by creating .vscode/settings.json file).
User environment level
Benefits
- Does not requires extension
- Personal development environment tweeking to rule them all (settings:))
Outcomes
- User's
settings.json
is modified (see location by operating system below)
How To?
Go to: menu File → Preferences → User Settings
Add or change the value of
"editor.formatOnType": false
to"editor.formatOnType": true
in the user settings.json
Your Visual Studio Code user's settings.json
location is:
Settings file locations depending on your platform, the user settings file is located here:
- Windows:
%APPDATA%\Code\User\settings.json
- Mac:
$HOME/Library/Application Support/Code/User/settings.json
- Linux:
$HOME/.config/Code/User/settings.json
The workspace setting file is located under the .vscode folder in your project.
More details may be found here.
By default, this key was not working for me on HTML, CSS, and JavaScript documents.
After searching, I found the popular plugin JS-CSS-HTML Formatter with 133,796 installs.
After installation, just reload the windows and hit Ctrl + Shift + F, and it works!
Just install Visual Studio Keymap (Visual Studio Keymap for Visual Studio Code) by Microsoft. Problem Solved. :p
For those that want to customize what JavaScript files to format, you can use the any extension on the JSfiles
property. The same applies to HTML.
{
"beautify.onSave": true,
"beautify.JSfiles": ["js", "json", "jsbeautifyrc", "jshintrc", "ts"],
"beautify.HTMLfiles": ["htm", "html"]
}
This will enable beautify on save for TypeScript, and you can add in XML to the HTML option.
Use extension...
Enables auto formatting of the code when you save a file.
Launch Visual Studio Code and Quick Open (Ctrl + P), paste the following command, and press Enter.
ext install format-on-save
https://marketplace.visualstudio.com/items?itemName=gyuha.format-on-save