The Basics of Visual Studio Code
At its heart, Visual Studio Code is a code editor. Like many other code editors, VSCode adopts a common UI and layout of an explorer on the left, showing all of the files and folders you have access to, and an editor on the right, showing the content of the files you have opened.
In addition, there are a number of unique features in the VSCode user interface. This topic describes these features.
Files, Folders & Projects
VSCode is file and folder based - you can get started immediately by opening a file or folder in VSCode.
On top of this, VSCode can read and take advantage of a variety of project files defined by different frameworks and platforms. For example, if the folder you opened in VSCode contains one or more package.json, project.json, tsconfig.json, or ASP .Net v5 Visual Studio solution and project files, VSCode will read these files and use them to provide additional functionality such as rich IntelliSense in the editor.
Launching VSCode
You can launch VSCode from the command line to quickly open a file, folder, or a project.
To open the file index.html in VSCode:
code index.html
To open the folder c:\src\Contents:
code c:\src\contents
VSCode does not distinguish between opening a folder or a project. Instead, if the folder you open contains any project files, VSCode will read those files and indicate the project context in the status bar. From there you can also switch between projects if more than one project is found.
To open the project contained in the folder c:\src\WebApp:
code c:\src\webapp
In other words, opening the folder containing the project effectively opens that project:

To open the current folder:
code .
Basic Layout
VSCode comes with a simple and intuitive layout that maximizes the space provided for the editor while leaving ample room to browse and access the full context of your folder or project. The UI is divided into four areas
- Editor the main area to edit your files. You can open up to three editors side by side
- Sidebar contains different views like the Explorer to assist you while working on your project
- Statusbar indicates information about the opened project and files you edit
- Viewbar on the far left-hand side, lets you switch between views and gives you additional context specific-indicators, like the number of outgoing changes when Git is enabled
Each time you start VSCode, it opens up in the same state it was in when you last closed it. The folder, layout and opened files are preserved.

Instead of placing files in separate tabs, VSCode allows up to three visible editors at any one time, allowing you place up to three files together side by side.
This helps to reduce the overhead of managing tabs but does not restrict the number of files you can work with. The Explorer view maintains a list of working files allowing you quick access to the files you need.
Tip: You can move the sidebar to the right hand side (
View, Move Sidebar) or toggle its visibility (⌘B (Windows, Linux Ctrl+B)).
Side by Side Editing
You can have up to three editors open side by side.
If you already have one editor open, there are multiple ways of opening another editor to the side of the existing one:
Ctrl(Mac:Cmd) click on a file in the Explorer- ⌘\ (Windows, Linux Ctrl+\) to split the active editor into two
Open to the Sidefrom the Explorer context menu on a file

Whenever you open another file, the editor that is active will display the content of that file. So if you have two editors side by side and you want to open file 'foo.cs' into the right hand editor, make sure that editor is active (by clicking inside it) before opening file 'foo.cs'.
Tip: You can resize editors and reorder them. Drag and drop the editor title area to reposition or resize the editor.
Explorer
The Explorer is used to browse, open and manage all of the files and folders in your project.
After opening a folder in VSCode, the contents of the folder are shown in the Explorer. You can do many things from here:
- create, delete, rename files and folders
- move files and folders with drag and drop
- use the context menu to explore all options
Tip: You can drag and drop files into the Explorer from outside VSCode to copy them

At the top of the Explorer is a section labeled Working Files. This is a list of active files. These are files that you have previously opened in VSCode you are working on. For example, a file will be listed in the working files section if you:
- make a change to a file
- double click a file in the Explorer
- open a file that is not part of the current folder

Once you are done with your task, you can remove all files from the section by using the Close All action.
Tip: Type ⌘O (Windows, Linux Ctrl+E) to quickly search and open a file by its name.
VSCode works very well with other tools that you might use, especially command line tools. If you want to run a command line tool in the context of the folder you currently have open in VSCode, right click the folder and select Open in Console.
You can also navigate to the location of a file or folder in the native Explorer by right clicking on a file or folder and selecting Reveal in Explorer (or Reveal in Finder on the Mac).
Save/AutoSave
By default, VSCode requires an explicit action to save your changes to disk, ⌘S (Windows, Linux Ctrl+S).
However, it's easy to turn on Auto Save which will save your changes on idle. With this option turned on, there is no need to explicitly save the file. This can be a great feature but if you are using file watchers to automate tasks you may want to turn this behavior off so that you have greater control when tasks run in the background.
To turn on autosave (or turn it off), simply open the control pallet, ⇧⌘P (Windows, Linux Ctrl+Shift+P), and type auto to filter the list and hit Enter. That's it, you're done!
You can also find this setting as an option on the File menu.
Search
VSCode allows you to quickly search over all the files in the open folder. Simply type ⇧⌘F (Windows, Linux Ctrl+Shift+F) and type in your search. Search results are grouped into files containing the search term, with an indication of the hits in each file and its location. Expand a file to see a preview of all of the hits within that file. Then single-click on one of the hits to view in the editor.

Tip: We support RegEx searching in the search box.
You can configure advanced search options by typing ⇧⌘J (Windows, Linux Ctrl+Shift+J). This will show additional fields to configure the search.

VSCode excludes some folders by default to reduce the number of search results that you are not interested in (for example: node_modules). Open settings to change these rules under the section.
Tip: From the Explorer you can right click on a folder and select
Find in Folderto search inside a folder only
Command Palette
VSCode is equally accessible from the keyboard. The most important key combination to know is ⇧⌘P (Windows, Linux Ctrl+Shift+P) which brings up the Command Palette. From here you have access to all of the functionality of VSCode, including keyboard shortcuts for the most common operations.

The Command Palette UI provides access to many commands. You can execute editor commands, open files, search for symbols, see a quick outline of a file all using the same interactive window. Here are a few tips:
- ⌘O (Windows, Linux Ctrl+E) will let you navigate to any file or symbol by simply typing in the name
- ⌃Tab (Windows, Linux Ctrl+Tab) will cycle you through the last set of files opened
- ⇧⌘P (Windows, Linux Ctrl+Shift+P) will bring you directly to the editor commands
- ⇧⌘O (Windows, Linux Ctrl+Shift+O) will let you navigate to a specific symbol in a file
- ⌃G (Windows, Linux Ctrl+G) will let you navigate to a specific line in a file
Type ? into the input field to get a list of available commands you can execute from here:

File Navigation
The Explorer is great to navigate between files when you are exploring a project. However, when you are working on a task you will find yourself quickly jumping between the same set of files. VSCode provides two powerful commands to navigate in and across files with easy-to-use key bindings.
Press ⌃Tab (Windows, Linux Ctrl+Tab) to view a list of all files that have been opened since VSCode was launched. To open one of these files, hold the Ctrl (Mac: Cmd) key and press Tab to pick the file you want to navigate to.

Alternatively, you can use ⌃- (Windows Alt+Left, Linux Ctrl+Alt+-) and ⌃⇧- (Windows Alt+Right, Linux Ctrl+Shift+-) to navigate between files and edit locations. If you are jumping around between different lines of the same file, these shortcuts allow you to navigate between those locations easily.
Tip: You can open any file by its name when you type ⌘O (Windows, Linux Ctrl+E).
Next Steps
OK, you got past the basic UI - there is a lot more to Code. Read on to find out about:
- Editing Evolved - Lint, IntelliSense, Lightbulbs, Peek and Goto Definition and more
- Debugging - This is where VSCode really shines
- Customization - Themes, settings and keyboard bindings
Common Questions
Q: Is it possible to globally search and replace?
A: This feature is not yet implemented but you can expect it to come in the future!