C++ programming with Visual Studio Code (2024)

C/C++ support for Visual Studio Code is provided by a Microsoft C/C++ extension to enable cross-platform C and C++ development on Windows, Linux, and macOS. When you create a *.cpp file, the extension adds features such as syntax highlighting (colorization), smart completions and hovers (IntelliSense), and error checking.

C++ programming with Visual Studio Code (1)

Install the extension

  1. Open VS Code.
  2. Select the Extensions view icon on the Activity bar or use the keyboard shortcut (⇧⌘X (Windows, Linux Ctrl+Shift+X)).
  3. Search for 'C++'.
  4. Select Install.

C++ programming with Visual Studio Code (2)

Set up your C++ Environment

C++ is a compiled language meaning your program's source code must be translated (compiled) before it can be run on your computer. The C/C++ extension doesn't include a C++ compiler or debugger, since VS Code as an editor relies on command-line tools for the development workflow. You need to install these tools or use the tools already installed on your computer.

Check if you have a compiler installed

Note: There may already be a C++ compiler and debugger provided by your academic or work development environment. Check with your instructors or colleagues for guidance on installing the recommended C++ toolset (compiler, debugger, project system, linter).

Common compilers that already come preinstalled on some platforms are the GNU Compiler Collection (GCC) on Linux and the Clang tools with Xcode on macOS.

To check if you already have them installed:

  1. Open a new VS Code terminal window using (⌃⇧` (Windows, Linux Ctrl+Shift+`))

  2. Use the following command to check for the GCC compiler g++:

    g++ --version

    Or this command for the Clang compiler clang:

    clang --version

The output should show you the compiler version and details. If neither are found, make sure your compiler executable is in your platform path (%PATH on Windows, $PATH on Linux and macOS) so that the C/C++ extension can find it. Otherwise, use the instructions in the section below to install a compiler.

Install a compiler

If you don't have a compiler installed, you can follow one of our installation tutorials:

Windows:

Go to the MSVC tutorial

Go to the MinGW tutorial

Linux:

Go to the GCC tutorial

macOS:

Go to the Clang tutorial

Note: If you would prefer a full Integrated Development Environment (IDE), with built-in compilation, debugging, and project templates (File > New Project), there are many options available, such as the Visual Studio Community edition.

Example: Install MinGW-x64 on Windows

To understand the process, let's install Mingw-w64 via MSYS2. Mingw-w64 is a popular, free toolset on Windows. It provides up-to-date native builds of GCC, Mingw-w64, and other helpful C++ tools and libraries.

  1. Download using this direct link to the MinGW installer.

  2. Run the installer and follow the steps of the installation wizard. Note, MSYS2 requires 64 bit Windows 8.1 or newer.

  3. In the wizard, choose your desired Installation Folder. Record this directory for later. In most cases, the recommended directory is acceptable. The same applies when you get to setting the start menu shortcuts step. When complete, ensure the Run MSYS2 now box is checked and select Finish. A MSYS2 terminal window will then automatically open.

  4. In this terminal, install the MinGW-w64 toolchain by running the following command:

    pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
  5. Accept the default number of packages in the toolchain group by pressing Enter.

    C++ programming with Visual Studio Code (3)

  6. Enter Y when prompted whether to proceed with the installation.

  7. Add the path of your MinGW-w64 bin folder to the Windows PATH environment variable by using the following steps:

    1. In the Windows search bar, type Settings to open your Windows Settings.
    2. Search for Edit environment variables for your account.
    3. In your User variables, select the Path variable and then select Edit.
    4. Select New and add the MinGW-w64 destination folder you recorded during the installation process to the list. If you selected the default installation steps, the path is: C:\msys64\ucrt64\bin.
    5. Select OK, and then select OK again in the Environment Variables window to update the PATH environment variable.You have to reopen any console windows for the updated PATH environment variable to be available.
  8. Check that your MinGW-w64 tools are correctly installed and available, open a new Command Prompt and type:

gcc --versiong++ --versiongdb --version

You should see output that states which versions of GCC, g++ and GDB you have installed. If this is not the case, make sure your PATH entry matches the Mingw-w64 binary location where the compiler tools are located or reference the troubleshooting section.

Create a Hello World App

To make sure the compiler is installed and configured correctly, lets create a Hello World C++ program.

Create a C++ file

  1. On Windows, launch a Windows command prompt (Enter Windows command prompt in the Windows search bar). On macOS and Linux, you can enter these commands in the terminal.
  2. Run the following commands. They are creating an empty folder called projects where you can place all your VS Code projects. The next commands create and navigate you to a subfolder called helloworld. From there, you are opening helloworld directly in VS Code using the code command.
mkdir projectscd projectsmkdir helloworldcd helloworldcode .

The "code ." command opens VS Code in the current working folder, which becomes your "workspace". Accept the Workspace Trust dialog by selecting Yes, I trust the authors since this is a folder you created.

Now create a new file called helloworld.cpp with the New File button in the File Explorer or File > New File command.

C++ programming with Visual Studio Code (4)

Add Hello World source code

Paste in the following source code:

#include <iostream>int main(){ std::cout << "Hello World" << std::endl;}

Now press ⌘S (Windows, Linux Ctrl+S) to save the file. You can also enable AutoSave to automatically save your file changes, by checking Auto Save in the main File menu.

Run helloworld.cpp

  1. Make sure you have helloworld.cpp open so it is the active file in your editor.

  2. Press the play button in the top right corner of the editor.

    C++ programming with Visual Studio Code (5)

  3. Choose C/C++: g++.exe build and debug active file from the list of detected compilers on your system.

    C++ programming with Visual Studio Code (6)

You are only prompted to choose a compiler the first time you run helloworld.cpp. This compiler becomes "default" compiler set in your tasks.json file.

  1. After the build succeeds, you should see "Hello World" appear in the integrated Terminal.

    C++ programming with Visual Studio Code (7)

Congratulations! You've just run your first C++ program in VS Code! The next step is to learn more about the Microsoft C/C++ extension's language features such as IntelliSense, code navigation, build configuration, and debugging using one of the Tutorials in the next section.

Tutorials

Get started with C++ and VS Code with tutorials for your environment:

  • GCC on Windows via MinGW
  • Microsoft C++ on Windows
  • GCC on Linux
  • GCC on Windows Subsystem For Linux
  • Clang/LLVM on macOS
  • CMake Tools on Linux

Documentation

You can find more documentation on using the Microsoft C/C++ extension under the C++ section of the VS Code website, where you can find articles on:

  • Debugging
  • Editing
  • Settings
  • FAQ

C++ programming with Visual Studio Code (8)

Remote Development

VS Code and the C++ extension support Remote Development allowing you to work over SSH on a remote machine or VM, inside a Docker container, or in the Windows Subsystem for Linux (WSL).

To install support for Remote Development:

  1. Install the VS Code Remote Development Extension Pack.
  2. If the remote source files are hosted in WSL, use the WSL extension.
  3. If you are connecting to a remote machine with SSH, use the Remote - SSH extension.
  4. If the remote source files are hosted in a container (for example, Docker), use the Dev Containers extension.

Enhance completions with AI

GitHub Copilot is an AI-powered code completion tool that helps you write code faster and smarter. You can use the GitHub Copilot extension in VS Code to generate code, or to learn from the code it generates.

GitHub Copilot provides suggestions for numerous languages and a wide variety of frameworks, and it works especially well for Python, JavaScript, TypeScript, Ruby, Go, C# and C++.

You can learn more about how to get started with Copilot in the Copilot documentation.

Feedback

If you run into any issues or have suggestions for the Microsoft C/C++ extension, please file issues and suggestions on GitHub. If you haven't already provided feedback, you can take this quick survey.

7/24/2023

C++ programming with Visual Studio Code (2024)

FAQs

Is Visual Studio Code good for C++ development? ›

The case for Visual Studio Code

It comes with built-in support for JavaScript, TypeScript, and Node. js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, and Go) and runtimes (such as . NET and Unity).

Can you program C++ in Visual Studio Code? ›

C/C++ support for Visual Studio Code is provided by a Microsoft C/C++ extension to enable cross-platform C and C++ development on Windows, Linux, and macOS.

Is Visual Studio good for C++ beginners? ›

Visual Studio is one of the best IDEs for C++ as it provides powerful functionality for quickly writing code, debugging, and testing software.

Is Visual Studio necessary for C++? ›

You do not need Visual Studio to run programs that were written in C++, but: You need to get the program as compiled binaries. You do need Visual Studio redistributable installed on your computer they are free from Microsoft, and you probably already have them.

Do professional programmers use Visual Studio? ›

Millions of developers from teams and organizations of all sizes rely on Visual Studio products to make their software.

Which Visual Studio is best for C++? ›

Visual Studio Code (VS Code) is considered the best IDE for C++, developed by Microsoft as a free, open-source, and powerful code editor. It operates seamlessly on Windows, Mac, and Linux, answering the question of what is the best IDE for C++ with its Microsoft C/C++ extension for comprehensive development.

Do you need a compiler for C++ in Visual Studio Code? ›

Remember, the C++ extension uses the C++ compiler you have installed on your machine to build your program. Make sure you have a C++ compiler installed before attempting to run and debug helloworld.cpp in VS Code. Open helloworld.cpp so that it is the active file.

Can I debug C++ in Visual Studio Code? ›

Visual Studio Code supports the following debuggers for C/C++ depending on the operating system you are using: Linux: GDB. macOS: LLDB or GDB. Windows: the Visual Studio Windows Debugger or GDB (using Cygwin or MinGW)

Is Visual Studio good for C++ GUI? ›

To create the GUI app, you must use Visual Studio 2019 because it is better suited for the C++ GUI application.

Is C++ too hard for beginners? ›

C++ is somewhat difficult to learn, especially if you have never programmed before or you have never used a low-level programming language before. If you are a beginner with no programming experience, you should expect it to take at least three months to learn the basics.

Which C++ is best for beginners? ›

One of the best C++ courses for beginners which is a complete package to dive deep into the beginner to advanced level concepts is Master C++ Programming – Complete Beginner to Advanced offered by GeeksforGeeks. This course is taught by Mr.

How should I practice C++ for beginners? ›

C++ Basic Exercises
  1. Write a program in C++ to find Size of fundamental data types. ...
  2. Write a program in C++ to print the sum of two numbers using variables. ...
  3. Write a program in C++ to check the upper and lower limits of integer. ...
  4. Write a program in C++ to check whether the primitive values crossing the limits or not.

What is the difference between Visual Studio and Visual Studio Code for C++? ›

The main difference between Visual Studio vs Visual Studio Code is that the first one is a comprehensive Integrated Development Environment (IDE) tool for software development, while the second one is an Extension-based Code Editor. It only needs a little space to run. It can run on a 300 MB RAM machine.

Can I run C++ code in Visual Studio? ›

Simply open VS Code/VS Code Insiders, open any folder, and create any file with the extension .c for the C file and .cpp for the C++ file. After writing your code, you can run the code directly using the play button you'll find in the upper right corner.

Is Visual Studio Code a good IDE for C++? ›

Visual Studio is one of the most commonly used IDE for C++. It provides advanced features that help us speed up the writing , debugging and testing code. Visual Studio do this with the help of some extensions.

Which is better Visual Studio or Dev C++? ›

If you're developing on Windows, Visual Studio (the full IDE) is far far better than VS Code. C++ (which includes the C compiler and C++ compiler), along with several other languages, are built in, and other than selecting workflows during installation, there is no configuration required to get all the tools you need.

Which extension is best for C++? ›

Visual Assist

This extension brought by Whole Tomato provides a suite of features to boost productivity, such as autocomplete, automated refactoring, code generation, debugging, and more. It has a reputation for providing unmatched functionality in reducing code complexity as well as generating code quickly.

What compiler does Visual Studio Code use for C++? ›

In this tutorial, you will configure Visual Studio Code to use the GCC C++ compiler (g++) and GDB debugger on Linux. GCC stands for GNU Compiler Collection; GDB is the GNU debugger. After configuring VS Code, you will compile and debug a simple C++ program in VS Code.

Top Articles
Hca Oceola Hosp Scheduler
iGetIntoPC Vs GetIntoPC – What's the Difference?
414-290-5379
Robot or human?
Myql Loan Login
Energy Healing Conference Utah
Eine Band wie ein Baum
Aps Day Spa Evesham
Georgetown 10 Day Weather
Woodmont Place At Palmer Resident Portal
Bethel Eportal
Bocca Richboro
Olivia Maeday
D2L Brightspace Clc
1979 Ford F350 For Sale Craigslist
Geico Car Insurance Review 2024
Hobby Lobby Hours Parkersburg Wv
Craftybase Coupon
Joann Fabrics Lexington Sc
Rs3 Bring Leela To The Tomb
Cvs Sport Physicals
Current Students - Pace University Online
Nurofen 400mg Tabletten (24 stuks) | De Online Drogist
Ringcentral Background
Isablove
Taktube Irani
Armor Crushing Weapon Crossword Clue
Kltv Com Big Red Box
Rocksteady Steakhouse Menu
Gold Nugget at the Golden Nugget
Craigslist Gigs Wichita Ks
Final Jeopardy July 25 2023
WorldAccount | Data Protection
Tryst Houston Tx
Craigslist Pets Plattsburgh Ny
Gfs Ordering Online
Isabella Duan Ahn Stanford
2024-09-13 | Iveda Solutions, Inc. Announces Reverse Stock Split to be Effective September 17, 2024; Publicly Traded Warrant Adjustment | NDAQ:IVDA | Press Release
Love Words Starting with P (With Definition)
Searsport Maine Tide Chart
Tlc Africa Deaths 2021
Cvs Coit And Alpha
St Anthony Hospital Crown Point Visiting Hours
Jigidi Free Jigsaw
Hdmovie2 Sbs
855-539-4712
De boeken van Val McDermid op volgorde
4Chan Zelda Totk
The Hardest Quests in Old School RuneScape (Ranked) – FandomSpot
Deshuesadero El Pulpo
Uno Grade Scale
Basic requirements | UC Admissions
Latest Posts
Article information

Author: Twana Towne Ret

Last Updated:

Views: 5964

Rating: 4.3 / 5 (64 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Twana Towne Ret

Birthday: 1994-03-19

Address: Apt. 990 97439 Corwin Motorway, Port Eliseoburgh, NM 99144-2618

Phone: +5958753152963

Job: National Specialist

Hobby: Kayaking, Photography, Skydiving, Embroidery, Leather crafting, Orienteering, Cooking

Introduction: My name is Twana Towne Ret, I am a famous, talented, joyous, perfect, powerful, inquisitive, lovely person who loves writing and wants to share my knowledge and understanding with you.