Writing C with VS Code It is recommended to install the following plug-ins: 1. C/C official plug-ins: Provide core functions such as intelligent completion and jump definition, and require configuration of the compiler and include path; 2. Code Runner: Run code snippets in one click, supports custom compilation options, suitable for quick testing; 3. CMake Tools: simplifies CMake project management, automatically builds and configures the Debug/Release mode. Other optional plug-ins include GitLens, Bracket Pair Colorizer 2, Clang-Format and Error Lens, which can improve collaboration, code structure, formatting and error recognition efficiency.
Using VS Code to write C, installing a few suitable plugins can really save a lot of trouble. It will be more difficult to write code by relying on the default function alone, especially in terms of completion, debugging and code style, which can easily affect efficiency. I generally recommend installing these practical extensions, and the following are divided into pieces according to common pain points in actual development.

C/C official plug-in: essential basic functions
This is an official plug-in released by Microsoft, and basically all C developers can install it. It is responsible for handling core functions such as IntelliSense, jump definition, and symbol search. If you don't install it, VS Code won't understand your code structure well.

To make it work well, there are several details to pay attention to:
- Make sure that the C compiler, such as GCC or Clang, is installed and the environment variables are configured.
- The plug-in will automatically generate the
c_cpp_properties.json
file, which can set the include path, compiler parameters, etc. - If the project is larger, it is recommended to use it with
compile_commands.json
, so that the completion and syntax check will be more accurate.
Anyway, this plugin is like the foundation you write C, and many other features rely on it.

Code Runner: Quickly run small pieces of code
Sometimes I want to test a function or algorithm fragment, but I don’t want to manually configure task and launch every time. At this time, you can use Code Runner to run the current file with one click.
It supports multiple languages, and by default, C runs by calling g
to compile and execute. You can set it to automatically save, clear the screen, or even enter parameters.
Some common setup suggestions:
-
"code-runner.runInTerminal": true
: Runs in the terminal, facilitates input and output interaction. -
"code-runner.saveFileBeforeRun": true
: automatically save before running to avoid errors caused by forgetting to save. - Supports custom commands, such as adding
-std=c 17
compilation option.
It is suitable for writing small examples, writing questions or verifying logic, and the efficiency is significantly improved.
CMake Tools: Simplify CMake project management
If your project uses CMake build system, then the CMake Tools plugin is worth installing. It can automatically detect CMakeLists.txt
, help you generate build directory, configure build type (Debug/Release), and build with one click.
The advantage of it is to graphize the bunch of commands that were originally to be struck on the command line. For example, click configure/build in the status bar to complete the corresponding operation.
A few points to note when using:
- You need to install CMake in advance and add environment variables.
- You can set cache variables through
cmake.configureSettings
, such as specifying compiler or third-party library paths. - If the project structure is complex, you may need to manually adjust
CMakeLists.txt
or setsourceDirectory
.
For small and medium-sized projects, this plugin can make the build process more intuitive.
Other useful extensions (Optional)
Although some plugins are not necessary, they are quite useful in specific scenarios:
- GitLens : If you use Git, this plugin allows you to see who changed each line when it is changed, which is very helpful for multi-person collaboration.
- Bracket Pair Colorizer 2 : Let the bracket colors be paired to display, making it easier to see the structure clearly when nested deep.
- Clang-Format : Used to format code, use it with shortcut keys, and maintain the unified code style.
- Error Lens : Highlight the error message to reduce visual interference and see at a glance what is wrong.
These plug-ins can be selected according to your own habits and are not mandatory, but they can indeed bring convenience when needed.
Basically all of these are plug-ins I often use when writing C projects on a daily basis. After setting up, VS Code can basically meet the needs of editing to debugging and then building, and is lightweight and cross-platform, which is quite suitable for C development.
The above is the detailed content of VS Code extensions for C. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

When the "Timedoutwaitingforthedebuggertoattach" issue occurs, it is usually because the connection is not established correctly in the debugging process. 1. Check whether the launch.json configuration is correct, ensure that the request type is launch or attach and there is no spelling error; 2. Confirm whether the debugger is waiting for the debugger to connect, and add debugpy.wait_for_attach() and other mechanisms; 3. Check whether the port is occupied or firewall restricted, and replace the port or close the occupied process if necessary; 4. Confirm that the port mapping and access permissions are configured correctly in a remote or container environment; 5. Update VSCode, plug-in and debug library versions to solve potential

There are two ways to set environment variables for VSCode terminals on Linux: one is to use the terminal.integrated.env.linux configuration item to define variables that are only used by VSCode; the other is to modify the shell configuration file to take effect globally. 1. In VSCode, add variables such as "MY_VAR":"my_value" by setting the terminal.integrated.env.linux field. This method only affects the VSCode terminal; 2. Modify shell configuration files such as ~/.bashrc or ~/.zshrc and add exportMY

VSCode workspace is a .code-workspace file that saves project-specific configurations. 1. It supports multi-root directory, debug configuration, shortcut key settings and extension recommendations, and is suitable for managing different needs of multiple projects. 2. The main scenarios include multi-project collaboration, customized development environment and team sharing configuration. 3. The creation method is to save the configuration through the menu File>SaveWorkspaceAs.... 4. Notes include distinguishing between .code-workspace and .vscode/settings.json, using relative paths, and avoiding storing sensitive information.

To access the settings.json file of VSCode, you can directly open it through the command panel (Ctrl Shift P or Cmd Shift P). The default storage location of the file varies according to the operating system. Windows is in %APPDATA%\Code\User\settings.json, macOS is in $HOME/Library/ApplicationSupport/Code/User/settings.json, Linux is in $HOME/.config/Code/User/

To set debug environment variables in VSCode, you need to use the "environment" array configuration in the launch.json file. The specific steps are as follows: 1. Add "environment" array to the debugging configuration of launch.json, and define variables in key-value pairs, such as API_ENDPOINT and DEBUG_MODE; 2. You can load variables through .env files to improve management efficiency, and use envFile to specify file paths in launch.json; 3. If you need to overwrite the system or terminal variables, you can directly redefine them in launch.json; 4. Note that

ToimproveVSCodeperformanceonLinux,adjustinotifylimitsandconfigurefilewatcherexclusions.First,increasesystem-levelinotifylimitsbyeditingsysctl.confandaddingfs.inotify.max_user_watches=524288,fs.inotify.max_queued_events=65536,andfs.inotify.max_user_in

YoucanuseenvironmentvariablesinVSCodetasksviathe${env:VARIABLE_NAME}syntax.1.Referencevariablesdirectlyintasks.jsontoavoidhardcodingsensitivedataormachine-specificvalues.2.Providedefaultvalueswith"${env:VARIABLE_NAME:-default_value}"topreve

The key to debugging code with VSCode in Docker containers is to configure the development environment and connection methods. 1. Prepare a mirror with development tools, install necessary dependencies such as debugpy or node, and use the official devcontainers image to simplify configuration; 2. Mount the source code and enable the Remote-Containers plug-in, create .devcontainer folders and configuration files, and realize in-container development; 3. Configure the debugger, add debug settings for the corresponding language in launch.json, and enable the listening port in the code; 4. Solve common problems, such as exposing the debug port, ensuring the host is 0.0.0.0, and use postCreateC
