# microsoft/vscode-cpptools

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/microsoft-vscode-cpptools).**

6,047 stars · 1,701 forks · TypeScript · other

## Links

- GitHub: https://github.com/microsoft/vscode-cpptools
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-vscode-cpptools.md

## Topics

`microsoft` `typescript` `vscode-extension`

## Description

The C/C++ extension for Visual Studio Code provides language support for C and C++ programming, including IntelliSense-powered code editing, navigation, and debugging capabilities. It enables syntax highlighting, code completion, hover information, and error checking for C and C++ source files, along with features like semantic colorization, symbol search, and call hierarchy exploration.

The extension offers comprehensive debugging support for C/C++ programs, including launching debug sessions with breakpoints, stepping through code, and inspecting variables. It supports debugging multi-threaded programs, remote processes, and memory dumps, with the ability to evaluate expressions, set conditional breakpoints, and customize object display in the debugger.

Build and compilation capabilities allow compiling C++ projects and running individual C/C++ files using configurable build tasks. The extension provides flexible IntelliSense configuration through automatic workspace detection, build system integration, or compilation databases, with options to manage multiple build configurations and control include paths and compiler settings.

## Tags

### Part of an Awesome List

- [C++ Project Compilations](https://awesome-repositories.com/f/awesome-lists/devtools/build-and-compilation/c-project-compilations.md) — Compiles C++ source files into an executable program using configurable build tasks. ([source](https://code.visualstudio.com/docs/cpp/introvideos-cpp))
- [Code Formatting](https://awesome-repositories.com/f/awesome-lists/devtools/code-formatting.md) — Formats code using clang-format or vc_format on a file, selection, or automatically when typing, saving, or pasting. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Single-File Compilations and Runs](https://awesome-repositories.com/f/awesome-lists/devtools/build-and-compilation/single-file-compilations-and-runs.md) — Compiles the active source file with the detected compiler and runs the resulting executable in the integrated terminal. ([source](https://code.visualstudio.com/docs/cpp/config-msvc))
- [Remote Development](https://awesome-repositories.com/f/awesome-lists/devtools/remote-development.md) — Supports editing and debugging C/C++ projects on remote machines, containers, and WSL. ([source](https://code.visualstudio.com/docs/languages/cpp))

### Data & Databases

- [IntelliSense Configurations](https://awesome-repositories.com/f/data-databases/path-configuration/include-path-standards/intellisense-configurations.md) — Configures additional include paths for resolving header files during IntelliSense. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Recursive Include Optimization](https://awesome-repositories.com/f/data-databases/path-configuration/include-path-standards/recursive-include-optimization.md) — Optimizes recursive include performance to speed up IntelliSense resolution. ([source](https://code.visualstudio.com/docs/cpp/customize-default-settings-cpp))

### Development Tools & Productivity

- [IntelliSense Configurations](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/intellisense-configurations.md) — Integrates with build systems to automatically configure IntelliSense for C/C++ projects. ([source](https://code.visualstudio.com/docs/cpp/faq-cpp))
- [IntelliSense Configurations](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-configuration-systems/compiler-configurations/intellisense-configurations.md) — Configures compiler and IntelliSense settings for accurate code completion and navigation. ([source](https://code.visualstudio.com/docs/cpp/config-msvc))
- [IntelliSense Configurations](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/c-extension-interfaces/c-extension-development/intellisense-configurations.md) — Sets compiler and path settings for accurate C/C++ IntelliSense in the editor. ([source](https://code.visualstudio.com/docs/cpp/config-clang-mac))
- [IntelliSense Configurations](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/cross-compilation-tooling/android-ndk-configurations/compilation-database-generators/intellisense-configurations.md) — Consumes compilation databases to provide accurate IntelliSense for C/C++ code. ([source](https://code.visualstudio.com/docs/cpp/faq-cpp))
- [Debug Configurations](https://awesome-repositories.com/f/development-tools-productivity/debug-configurations.md) — Defines runtime arguments, break behavior, and pre-launch tasks for tailored debugging sessions. ([source](https://code.visualstudio.com/docs/cpp/config-clang-mac))
- [Debugger Configurations](https://awesome-repositories.com/f/development-tools-productivity/debugger-configurations.md) — Configures debugger settings including executable path and debugger type for C/C++ programs. ([source](https://code.visualstudio.com/docs/cpp/faq-cpp))
- [Variable Inspection Tools](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugging-and-inspection-tools/intermediate-output-inspection/variable-inspection-tools.md) — Provides hover inspection and watch lists to display variable values during debugging. ([source](https://code.visualstudio.com/docs/cpp/config-msvc))
- [Runtime Expression Evaluation](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugging-and-inspection-tools/runtime-debugging/inline-expression-debugging/runtime-expression-evaluation.md) — Ships a watch panel and debug console for evaluating and modifying expressions at runtime. ([source](https://code.visualstudio.com/docs/cpp/cpp-debug))
- [Native Debugging Sessions](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugging-and-inspection-tools/runtime-debugging/native-debug-symbol-generators/native-debugging-sessions/native-debugging-sessions.md) — Customizes and launches debugging sessions for C++ projects with step-through execution. ([source](https://code.visualstudio.com/docs/cpp/introvideos-cpp))
- [Native Debugging Sessions](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugging-and-inspection-tools/runtime-debugging/native-debugging-sessions.md) — Launches native debug sessions with breakpoints and variable inspection for C/C++ programs. ([source](https://code.visualstudio.com/docs/cpp/config-clang-mac))
- [Definition Navigation](https://awesome-repositories.com/f/development-tools-productivity/definition-navigation.md) — Jumps directly to where a symbol is defined in the source code. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Type Definition Navigations](https://awesome-repositories.com/f/development-tools-productivity/definition-navigation/type-definition-navigations.md) — Jumps directly to where a type is defined in the source code. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Symbol Navigation](https://awesome-repositories.com/f/development-tools-productivity/symbol-navigation.md) — Jumps directly to where a symbol is declared in the source code. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Hover Information Displays](https://awesome-repositories.com/f/development-tools-productivity/symbol-navigation/hover-information-displays.md) — Shows an inline definition of a symbol when hovering over it with the mouse. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Symbol Searchers](https://awesome-repositories.com/f/development-tools-productivity/workspace-management/project-workspaces/symbol-searchers.md) — Finds and navigates to symbols in the current file or workspace by typing a name. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Remote Debugging](https://awesome-repositories.com/f/development-tools-productivity/application-debugging/remote-debugging.md) — Attaches the debugger to processes running on remote machines or inside containers via pipe transport. ([source](https://code.visualstudio.com/docs/cpp/cpp-debug))
- [Build Task Runners](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-lifecycle-orchestrators/build-task-runners.md) — Defines compiler arguments, problem matchers, and default build settings in a tasks.json file for repeatable builds. ([source](https://code.visualstudio.com/docs/cpp/config-msvc))
- [Call Hierarchies](https://awesome-repositories.com/f/development-tools-productivity/call-stack-navigators/call-hierarchies.md) — Shows all calls to or from a function in a tree view to understand how functions relate to each other. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Debugger Console Commands](https://awesome-repositories.com/f/development-tools-productivity/command-configuration-utilities/external-command-integrations/debugger-command-apis/debugger-console-commands.md) — Allows users to execute debugger commands directly from the debug console. ([source](https://code.visualstudio.com/docs/cpp/cpp-debug))
- [Symbol Browsing Scope Control](https://awesome-repositories.com/f/development-tools-productivity/symbol-indexing/symbol-browsing-scope-control.md) — Controls which directories are parsed for symbol searches to optimize browsing. ([source](https://code.visualstudio.com/docs/cpp/customize-default-settings-cpp))

### Education & Learning Resources

- [IntelliSense Configurations](https://awesome-repositories.com/f/education-learning-resources/engineering-checklists/security-checklists/c-and-c/intellisense-configurations.md) — Configures compiler paths and defines for accurate C/C++ IntelliSense in the editor. ([source](https://code.visualstudio.com/docs/cpp/config-clang-mac))
- [IntelliSense Editors](https://awesome-repositories.com/f/education-learning-resources/engineering-checklists/security-checklists/c-and-c/intellisense-editors.md) — Highlights syntax, completes code, shows hover information, and checks errors in C and C++ source files. ([source](https://code.visualstudio.com/docs/languages/cpp))

### Operating Systems & Systems Programming

- [Conditional Breakpoints](https://awesome-repositories.com/f/operating-systems-systems-programming/conditional-breakpoints.md) — Supports conditional breakpoints that halt execution only when user-defined conditions are met. ([source](https://code.visualstudio.com/docs/cpp/cpp-debug))
- [Multi-Threaded Debugging](https://awesome-repositories.com/f/operating-systems-systems-programming/thread-inspection/multi-threaded-debugging.md) — Provides a thread panel to view call stacks and control execution across concurrent threads. ([source](https://code.visualstudio.com/docs/cpp/cpp-debug))
- [Memory Dump Parsers](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-memory-dumping/memory-dump-parsers.md) — Loads and analyzes core dumps for post-mortem debugging of C/C++ programs. ([source](https://code.visualstudio.com/docs/cpp/cpp-debug))
- [Debug Source Path Mappings](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/file-system-management/file-system-utilities/source-path-locators/debug-source-path-mappings.md) — Supports path substitution to locate missing source files during debugging. ([source](https://code.visualstudio.com/docs/cpp/cpp-debug))

### Programming Languages & Runtimes

- [Native Debugging Sessions](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/c/debugging-tools/native-debugging-sessions.md) — Launches debug sessions with breakpoints and step-through execution for C/C++ programs. ([source](https://code.visualstudio.com/docs/cpp/config-msvc))
- [Documentation Comment Generators](https://awesome-repositories.com/f/programming-languages-runtimes/code-commenting/documentation-comment-generators.md) — Creates a structured documentation comment block when typing /** and pressing Enter. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Function Entry Breakpoints](https://awesome-repositories.com/f/programming-languages-runtimes/program-entry-points/entry-point-breakpoints/function-entry-breakpoints.md) — Enables pausing at any function entry point without manual line breakpoints. ([source](https://code.visualstudio.com/docs/cpp/cpp-debug))

### Software Engineering & Architecture

- [IntelliSense Configurations](https://awesome-repositories.com/f/software-engineering-architecture/automatic-configuration/intellisense-configurations.md) — Automatically detects compiler and headers to enable IntelliSense without manual configuration. ([source](https://code.visualstudio.com/docs/cpp/faq-cpp))
- [Codebase Symbol References](https://awesome-repositories.com/f/software-engineering-architecture/codebase-symbol-references.md) — Lists every location where a symbol appears in the source code. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Peek Definitions](https://awesome-repositories.com/f/software-engineering-architecture/codebase-symbol-references/peek-definitions.md) — Shows a symbol's definition, declaration, type definition, or references in an inline window. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))
- [Code Completion Member Listers](https://awesome-repositories.com/f/software-engineering-architecture/exception-detail-accessors/variable-introspection/object-member-listing/code-completion-member-listers.md) — Shows a filtered list of available members when typing a member access symbol. ([source](https://code.visualstudio.com/docs/cpp/cpp-ide))

### Artificial Intelligence & ML

- [AI-Powered Code Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-coding-assistants/ai-powered-code-generation.md) — Completes code and suggests snippets using AI from GitHub Copilot to speed up C and C++ writing. ([source](https://code.visualstudio.com/docs/languages/cpp))

### DevOps & Infrastructure

- [IntelliSense Configurations](https://awesome-repositories.com/f/devops-infrastructure/build-configuration-management/intellisense-configurations.md) — Manages multiple IntelliSense configurations for different platforms and build environments. ([source](https://code.visualstudio.com/docs/cpp/customize-default-settings-cpp))
