I recently shifted from IntelliJ IDEA Ultimate to Visual Studio Code (VS Code) and I have no regrets! VS Code is highly customizable and fast. It stores your settings in the cloud so you don’t have to worry about configurations when you move to a different machine. \ As expected, it has support for Java, Git, SQL, Spring Boot, and many other languages, frameworks, and tools. \ In this article, I’ll show you the extensions and configurations that I use with my new favorite IDE. ## **Java extension pack** VS Code has tons of extensions that add support for programming languages, frameworks, and tools. An extension pack groups related extensions that work well together. So the first thing to do is install the __[Java Extension Pack](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack)__: \  ## Spring Boot, Microprofile, and Quarkus extensions There are extensions for __[Spring Boot](https://marketplace.visualstudio.com/items?itemName=pivotal.vscode-boot-dev-pack)__, __[Microprofile](https://marketplace.visualstudio.com/items?itemName=MicroProfile-Community.vscode-microprofile-pack)__, and __[Quarkus](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-quarkus)__ if you are using any of these frameworks. These extensions make it easy to create new projects, deploy and run applications, as well as configure them. ## Creating a new Java project To create a new Java project, in the **Explorer** tab on the sidebar, click **Create Java Project**: \  You can select from a variety of frameworks depending on the extensions you installed. Here are some of the ones that I see in my IDE: \  Each option will prompt further information to generate the new project. ## Importing a project The Java Extension Pack includes the __[Maven for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-maven)__ extension (there’s a __[Gradle extension](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle)__ as well). VS Code recognizes Maven projects when you open a directory with a **pom.xml** file in it. Simply go to **File | Open…** in the menu and select the directory that contains the **pom.xml** file. ## Code command Although you don’t have to, you can also use the command line to open projects. VS Code makes it extremely easy to enable this. Press **F1** and type **shell** to include the `code` command in your `PATH` environment variable: \  After this, make sure to restart the terminal (if you have any opened), and type **code** to launch VS Code. You can specify a directory to open: \  To open the current directory, specify a dot: \ `code .` ## Running an application Once you have a new or an existing project opened in VS Code, you can run it by pressing **F5**. Select **Java** and the class that contains the standard Java entry point `main` method that you want to run: \  ## Database client Most applications connect to databases like MariaDB, MySQL, PostgreSQL, MongoDB, etc. The best extension for this is __[Database Client](https://marketplace.visualstudio.com/items?itemName=cweijan.vscode-database-client2)__. You can try it out with __[SkySQL](https://cloud.mariadb.com/)__ for example. Make sure to enable the **Use SSL** option, download the CA file from SkySQL, and specify the path to the file in the **Client Cert** field in VS Code. After that, you can run SQL queries without having to leave your IDE. Check this video: [https://www.youtube.com/watch?v=rJYUTxD-2-M](https://www.youtube.com/watch?v=rJYUTxD-2-M) ## Git VS Code includes Git support out-of-the-box. However, I suggest installing the __[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)__ extension to add useful views to the **Source Control** sidebar panel: \  In my case, I disabled the current line blame annotations since I find it a bit intrusive, but try it out and decide for yourself. ## Keyboard shortcuts If there’s one shortcut you should learn, that is the sequence **Ctrl K**, **Ctrl S** (or **Cmd K**, **Cmd S**). It shows all the keyboard shortcuts with the option to search and edit the key combinations as you wish: \  Here are a few keyboard shortcuts that I use frequently: \ **Ctrl B** / **Cmd B** - Toggle sidebar **Ctrl Shift E** / **Cmd Shift E** - Show/focus explorer **Ctrl J** / **Cmd J** - Toggle panel (terminal, output, debug console, etc.) **Ctrl \`** / **Ctrl Shift \`** - Toggle terminal **F5** - Run the application **Ctrl ;** / **Cmd ;** - Settings **Ctrl Shift P** / **Cmd Shift P** / **F1** - Show all available commands **Ctrl P** / **Cmd P** - Open a project file **Ctrl Shift O** / **Cmd Shift O** - Outline (to show for example class members) \ I recommend going through the **Get Started** guide inside VS Code (available in the **Help** menu) especially the **Learn the Fundamentals** walkthrough which teaches you how to edit code with a bunch of shortcuts that will improve your productivity. ## Presentation mode If you are presenting your code to an audience, it’s always useful to increase the font size of the code. Most IDEs allow you to do this, but the size of all other things in the UI remains the same, which is not ideal in my opinion. VS Code is the best at this since you can simply hit **Ctrl +** (or **Cmd +** on macOS) and the whole UI is zoomed in, just like in a web browser. Use **Ctrl -** (or **Cmd -** on macOS) to zoom out. \ You might want to go full screen (**F1** and search for **Toggle Full Screen**) or even better activate the *Zen mode* (**F1** and **Toggle Zen Mode**). I do this in presentations and videos like this: [https://www.youtube.com/watch?v=cHGQxMkpCMM](https://www.youtube.com/watch?v=cHGQxMkpCMM) ## Other resources Like almost always the official __[documentation](https://code.visualstudio.com/docs)__ is the best source of knowledge. It includes resources for multiple programming languages like JavaScript, TypeScript, Java, Python, and C++. Check the __[official YouTube channel](https://www.youtube.com/c/Code)__ as well and visit the __[GitHub repository](https://github.com/microsoft/vscode)__. VS is open source! \n \n