Published 2021-03-22.
Last modified 2023-12-30.
Time to read: 4 minutes.
Launching VSCode
Opening A File
To open a file, simply provide the file name on the command line.
For example, to open abd/xyz/my_func.c
, type:
$ code abd/xyz/my_func.c
If VSCode has at least one window open, the top-most window will open a new tab containing the desired file. Otherwise, VSCode will launch, with the desired file displayed in an editor pane.
This works with relative and absolute file names.
You can type the incantation into any command console, such as CMD
,
PowerShell or bash
.
You can also use the console built into VSCode,
which can be toggled with CTRL-~,
or you can use an external console such as
Microsoft Terminal.
Opening A File At a Line
To open a file at a given line number, use the -g
option on the command line,
and follow the file name with a colon and the line number.
For example, to open abd/xyz/my_func.c
at line 123, type:
$ code -g abd/xyz/my_func.c:123
Useful Default Key Bindings
- CTRL+~
- Toggle visibility of the current Terminal pane in the lower panel.
- CTRL+B
- Toggle visibility of the Explorer view, which contains the files and directories for the VSCode project.
- CTRL+J
- Toggle visibility of the lower panel, containing Problems, Output, Debug Console, Terminal, GitLens and Watch.
- CTRL+K M
- Set the language mode for the file displayed in the editor.
- CTRL+K CTRL+S
-
Display / edit the Keyboard Shortcuts definitions.
You can filter the keybindings by pressing ALT+K or clicking the icon of the little keyboard at the top right of the Keyboard Shortcut page, then press the keys that you want to see the key binding for. \ The keyboard icon starts keystroke recording mode. Recording mode is sticky; each time you revisit the Keyboard Shortcuts tab you can just press the keys you are interested in to see their bindings. Step by step:-
When you press the CTRL key you will see
"ctrl"
displayed, and recording mode continues to listen to what you type. Don't do this right now, but FYI, if you toggle keystroke recording mode now, and then remove the quotes around"ctrl"
, you will see a sorted list of all the key chords bound to CTRL. -
Next, when you add the Shift key to the key chord, you then see
"ctrl+shift"
displayed. Don't do this right now, but FYI, if you toggle keystroke recording mode now, and then remove the quotes, you will see a sorted list of all the key chords bound to CTRL+Shift. - Finally, adding the = key to the key chord shows all the commands bound to CTRL+Shift+=.
-
When you press the CTRL key you will see
- CTRL+K+0 (zero)
- Completely fold the active editor contents.
- CTRL+K+1 (one)
- Fold level 1 the active editor contents.
- CTRL+K+2
- Fold level 2 the active editor contents.
- CTRL+B
- Toggle side bar visibility.
- CTRL+P
- Show names of recently opened tabs, which might contain files to edit, or might be VSCode settings, or VSCode key bindings, etc. Click on a tab name to open it. This key binding is bound to Go to File, which is somewhat logical but not the most descriptive name.
- CTRL+Shift+P
- Open the Command Palette.
- CTRL+L G
- Open the active (currently edited) file on GitHub in the default web browser. Requires the Open in GitHub extension.
- CTRL+, (comma)
- Open the Settings tab.
- CTRL+Shift+T
- Reopen the most recently closed editor tab.
- ALT+Shift+F
- Format the current file.
Annoying Side Bar Auto Reveal
Problem
When editing a file, if you CTRL+click on a function, method or class name defined in a dependency, the dependency's folder will be expanded in the side bar. Some dependencies are deeply nested, which means that the side bar expands quite a lot. In order to close the folders in the side bar it is necessary to go all the way back to the top of that folder, which is annoying and wastes time.
Solution
In settings, look for Explorer: Auto Reveal, which controls whether the explorer should automatically reveal and select files when opening them.
To do that, bring up settings with CTRL+, (comma),
and then type reveal ex
into the filter.
The default value is true
.
Change the value to false
.
Bonus: Reveal Active File in Side Bar
To scroll to a file that you are editing in the list of files in the side bar, right-click on the file's tab, then select Reveal in side bar.
Even better, define a keyboard shortcut to do this:
- Bring up the Keyboard Shortcuts definitions by typing CTRL+K CTRL+S.
- Type
reveal side
into the search bar. - Double-click on File: Reveal Active File in Side Bar.
- For my desired key shortcut, I pressed CTRL+Shift+ALT+R, then pressed Enter.
Extensions
Extension Directory
Extensions are stored in ~/.vscode/extensions/
.
Settings
User settings are stored in %AppData%\Code\User\
on Windows, in files called
settings.json
, keybindings.json
, syncLocalSettings.json
and tasks.json
.
Project settings are stored in .vscode/
on all platforms, in files called
launch.json
, settings.json
and tasks.json
.
Workspace settings are stored in files with a .code-workspace
filetype.
They can be painful to work with because paths in them are OS-dependent.
Open Windows Directory From File Explorer
The ability to have Visual Studio Code open a Windows directory from File Explorer is useful. When you install VS Code for Windows, you can add an Open with Code action to the Windows Explorer file context menu by enabling the two options that are highlighted in the image below.
To add the ability without reinstalling VSCode, save the following file, then double-click on it.
Windows Registry Editor Version 5.00 ; Open files [HKEY_CLASSES_ROOT\*\shell\Open with VS Code] @="Edit with VS Code" "Icon"="%LocalAppData%\\Programs\\Microsoft VS Code\\Code.exe,0" [HKEY_CLASSES_ROOT\*\shell\Open with VS Code\command] @="\"%LocalAppData%\\Programs\\Microsoft VS Code\\Code.exe\" \"%1\"" ; This will make it appear when you right click ON a folder ; The "Icon" line can be removed if you don't want the icon to appear [HKEY_CLASSES_ROOT\Directory\shell\vscode] @="Open in VS Code" "Icon"="\"%LocalAppData%\\Programs\\Microsoft VS Code\\Code.exe\",0" [HKEY_CLASSES_ROOT\Directory\shell\vscode\command] @="\"%LocalAppData%\\Programs\\Microsoft VS Code\\Code.exe\" \"%1\"" ; This will make it appear when you right click INSIDE a folder ; The "Icon" line can be removed if you don't want the icon to appear [HKEY_CLASSES_ROOT\Directory\Background\shell\vscode] @="Open in VS Code" "Icon"="\"%LocalAppData%\\Programs\\Microsoft VS Code\\Code.exe\",0" [HKEY_CLASSES_ROOT\Directory\Background\shell\vscode\command] @="\"%LocalAppData%\\Programs\\Microsoft VS Code\\Code.exe\" \"%V\""
There is no need to reboot your computer. Now you should see a new entry when you right-click on a directory:
Thanks to Erick Petrucelli and Walid Bousseta on StackOverflow for this procedure.