Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Builder
microsoft
Latest release
v1.34.3
Date

About

Microsoft's official C/C++ extension for VS Code — IntelliSense, debugging, code navigation, and toolchain integration.

What it does

It turns VS Code into a working environment for C and C++ projects. Inside the editor, it starts language and debugger services, reads workspace configuration, registers build tasks, and connects source editing to locally installed development tools.

Why it's ranked here

This is a strong choice when VS Code is already your editor and your toolchain is installed. Its broad compiler, operating system, and processor coverage combines with configurable language services, debugging support, build tasks, localization, and an extension API for configuration providers.

What's good

Official support covers MSVC, Clang, and GCC on Windows, plus Clang and GCC on Linux and macOS. Supported processors include x64, x86, Arm64, and Arm where listed. The code also handles build task events, localized configuration schemas, variable expansion, and custom configuration providers.

Tradeoffs

You must supply the compiler and debugger yourself. Support for compilers outside the documented set may be limited. The software may send usage information to Microsoft, although VS Code's telemetry setting can disable it. The related extension pack is workspace-only because important members do not support web use.

How to use it well

Pick it for local C or C++ work in VS Code when MSVC, GCC, or Clang and a compatible debugger are already available. Configure the matching language mode, then use its editing, build, and debugging workflow. It does not install or replace the underlying compiler and debugger toolchain.

Technical notes+

Extension/src/main.ts is the activation hub: it initializes debugger and language-server modules, registers a schema content provider and build task provider, checks platform compatibility, marks packaged binaries executable, and returns the CppTools API. Extension/webpack.config.js bundles Extension/src/main.ts for Node as CommonJS, preserves source maps, excludes the VS Code runtime module, and loads native modules. Extension/src/cppTools.ts implements versioned custom configuration-provider registration and readiness notifications. Extension/.scripts/test.ts runs Mocha unit tests and VS Code Electron scenario tests. Extension/src/id.ts hashes Windows MAC addresses with SHA-256 before logging machine-ID mapping telemetry.

Observed

License
MIT License, stated in repository source headers.
Primary language
TypeScript implementation bundled into CommonJS JavaScript for the VS Code Node runtime.
Install surface
Packaged as a VS Code extension; compatibility logic refers to VSIX packages.
Interface
VS Code extension API with an exported CppTools API for custom configuration providers.
Platform support
Windows, Linux, and macOS with documented MSVC, Clang, and GCC combinations.
Architectures
Documented support includes x64, x86, Arm64, and Arm, varying by platform.
Testing structure
Repository scripts support Mocha unit tests and VS Code Electron scenario tests.
Localization
Build tooling exports and imports localized strings for thirteen language identifiers.

Read from README.md, ExtensionPack/main.js, Extension/gulpfile.js, Extension/eslint.config.js, Extension/webpack.config.js, Extension/translations_auto_pr.js, Extension/src/id.ts, Extension/src/main.ts, Extension/src/common.ts, Extension/src/expand.ts, Code Samples/Fib/main.cpp, Extension/src/cppTools.ts, Extension/.scripts/code.ts, Extension/.scripts/test.ts, Extension/src/constants.ts.

What it can do

  • Provide code completion and syntax highlighting for C/C++

    C/C++ source code being typedAuto-completion suggestions and highlighted syntax

  • Debug C/C++ applications

    C/C++ executable and breakpoint locationsStep-by-step execution control and variable inspection

  • Navigate to function and variable definitions

    C/C++ identifier or symbolLocation of definition in source code

  • Find all references to a symbol

    C/C++ function, variable, or class nameList of all locations where symbol is used

  • Configure build tasks and compiler settings

    Compiler toolchain configurationExecutable build process and compilation commands

  • Display error and warning diagnostics

    C/C++ source code with syntax or semantic errorsHighlighted errors with descriptive messages

Tags

vscodecppmicrosoftextensiondebugger

Tech Stack

BatchfileCC++HTMLJavaScriptTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.