Как настроить VS Code для C ++ с поддержкой clangd?

Отказ от ответственности: я полностью знаком с VS Code, поэтому, пожалуйста, будьте осторожны со мной. 🙂

Я пытаюсь настроить Кодекс VS за C ++.
Тем не менее, я явно хочу настроить его так, чтобы он использовал Протокол языкового сервера общаться с clangd при обработке C ++ — файлов.

Я уже установил clangd на моей (Ubuntu Linux) системе и официальной «Vscode-clangd» расширение с рынка VS Code, и я также настроил его параметры так, чтобы clangd должно быть найдено этим.

Однако сейчас я потерялся.
Когда я открываю *.cpp или же *.hpp Файл VS Code рекомендует мне другие расширения (например, официальный Microsoft «C / C ++» расширение с поддержкой IntelliSense) но я не вижу, где и как clangd действительно помогает мне.

Использование расширения Microsoft «C / C ++», кажется, работает из коробки, но как я могу использовать clangd?

Спасибо за любую помощь.

2

Решение

Это должно работать без какой-либо конфигурации.
Я проверил это в Windows, и оно работает просто отлично — у меня не установлено расширение C / C ++ в коде Visual Studio, просто vscode-clangd и он сообщает об ошибках, обеспечивает завершение кода и т. д.
Это означает, что расширение работает, потому что в «основном» коде Visual Studio таких функций нет.
Visual Studio Code все еще предлагает популярные расширения C / C ++, но вы можете игнорировать это, это не значит, что vscode-clangd не работает

Обратите внимание, что редактируемый файл должен иметь стандартное расширение, например .cpp или же .c быть признанным и действующим vscode-clangd,
Увидеть исходный код расширения для списка всех поддерживаемых расширений.

Для простых проектов может быть недостаточно иметь конфигурацию, но для более сложных вам, конечно, нужно сообщить Clang такие вещи, как каталоги, флаги компиляции и т. Д.
Это может быть сделано путем создания compile_flags.txt файл, где вы вводите аргументы для Clang, по одному на строку.
Вы можете поместить этот файл в ту же папку, что и ваши исходные файлы, или в любое место дерева.
После редактирования этого файла необходимо перезапустить код Visual Studio, чтобы изменения вступили в силу.

Кроме того, вы можете создать (или позволить CMake генерировать) compile_commands.json файл.
Он имеет следующий синтаксис:

[
{ "directory": "/home/user/llvm/build",
"command": "/usr/bin/clang++ -Irelative -DSOMEDEF=\"With spaces, quotes and \\-es.\" -c -o file.o file.cc",
"file": "file.cc" },
...
]

Увидеть Clang Docs Больше подробностей.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]