# C/C++ editor (LSP)

The CDT provides a Language Server based editor that gives you specific support for editing C/C++ code. This editor uses Language Server Protocol (LSP) to provide better support for modern C/C++ language features than the legacy C/C++ editor. The Language Server based editor is invoked automatically when you open a C/C++ source file within new projects. Projects created using an older version of CDT may be configured to use this editor from the Project Preferences C/C++ General Editor (LSP) properties page:

When the C/C++ editor (LSP) is enabled for a project, source code files are presented with a decorated icon () in the Project Explorer view.

The C/C++ editor (LSP) includes the following features:

- Syntax highlighting

- Content/code assist

- Code folding

- Integrated debugging features

You can customize formatting behaviour of the editor by modifying style options in the ClangFormat configuration file from the Project Preferences C/C++ General Editor (LSP) Formatter properties page.

| The C/C++ editor (LSP) requires an installation of the `clangd` command-line tool. Refer to clangd preferences for setup details.