![]() |
В сети крайне мало толковых билдов под C++. В основном хорошие билды только на web-разработку. В результате расширения очень долго собирались в попытках найти что-то полезное в тонне софта на маркетплейсе, а так же из рекомендаций в рандомных источниках, типа LLVM-канала в ДС. При чем что самое странное - некоторые из расширений очень плохо ищутся по тегу C++ на маркетплейсе, при том, что являются популярными (и при этом их так же нет в подборках).
Сначала пройдусь по C++ экстеншенам, а в конце докину всякого на юзабилити. Языковой сервер Microsoft C/C++ - идет на***, ну или почтиРасширение из коробки нормально работает с CMake от того же Microsoft, но оно имеет не очень хороший анализатор кода:
Если решили оставлять расширение ради кнопочки дебага с авто-сгенерированым конфигоом, то отключайте Intelli Sense Engine: JSON: Код:
{Настоящий языковой сервер C++clangd и C-mantic- вместе дают защеку некоторым большим IDE, типа CLion. При том, что второй даже не надо настраивать clangd не имеет интеграции с CMake и другими системами сборки, так что для него надо экспортировать compile_commands.json (у CMake это флаг Код:
-DCMAKE_EXPORT_COMPILE_COMMANDS=1Замечание: clangd и C-mantic оба имеют функцию переключения между исходником и заголовком, но C-mantic делает это лучше, когда файлы находятся в разных папках Цитата:
CodeLLDB крут тем, что это очень качественная обертка над lldb - можно задать команды инициализации и даже больше:
Более медленные проверки, такие как утечки памяти можно запустить через CodeChecker CodeChecker поддерживает следующие анализаторы:
P.S. clang из дефолтной поставки android-ndk не умеет в CTU (утечки не найдет) CodeCoverage или просмотр посещенных/не посещенных участков кода при выполненииCoverage Gutters выводит информацию из lcov файлов, а сами lcov файлы можно сгенерировать при помощи Lcov Generator (он поддерживает интеграцию с CMake и launch.json) Цитата:
Требует что бы в PATH, или по одному пути с компилятором была утилита c++filt. Для подсветки кода нужно ставить отдельное расширение для asm Цитата:
Подсветка кодаBetter C++ Syntax - фикс подсветки C++ кода. Так же может использоваться другими расширениями, такими как следующее std::format placeholder highlighter- подсветка фигурных скобок для std::format Color Identifiers- семантическая подсветка (советую в tokenKinds оставить только variable и parameter) Doxygen Documentation Generator - подсветка doxygen-документации в комментариях, а так же генерация блоков для документации Error Lens - вывод ошибок слева от строки с кодом, как в QtCreator Build Output Colorizer - подсветка кода и ошибок, которые выводятся в окно OUTPUT (у CMake будет нормально показывать ошибки компиляции) ТаскиTasks- вывод тасков в статусбар (можно выводить не все, выводить группой, а так же задавать иконки и тултипы) TaskNotify (Fork) - вывод уведомлений о завершении тасков Поведение VSCodeAuto Hide (fork)- автоматическое скрытие нижней панели и сайдбаров (можно настроить, что бы все скрывалось по отдельности) Automatic Editor Sorter- автоматичская сортировка вкладок по алфовиту cmake-build - дополнение для расширения от Microsoft - выводит уведомления об успешной/неуспешной сборке и открывает вывод CMake в случае ошибок GITGit Graph - отображение коммитов в виде графа. Оттуда же их можно черипикать и мерджить ветки GitLess - не жадная версия GitLens (и inlay hints коммиты тут по ощущению быстрее показывает) AICodeium - просто классный AI-ассистент. Из того, что понравилось - у них своя нейронка для автокомплита, которая работает лучше, чем GH Copilot (сравнивал в июле 2023). В качестве чата классика - ChatGPT |
Благодарю
но цлион остается в наших сердцах |
и все эти анализы полнейшная хуета, потому что под капотом ебучий clangd, который нихуя не умеет, и ломается от любой незакрытой скобки или точки запятой.
Покажите уже людям решарпер в Visual Studio(в CLion Nova он пока не полностью интегрирован) |
Цитата:
|
Цитата:
|
Докинул свое расширение, которое автоматически открывает вывод CMake в случае ошибки сборки
Для использования надо перебиндить сборку на команды из этого расширения, а оно уже само дернит оригинальный CMake. По дефолту расширение добавляет бинды:
cmake-build - Visual Studio Marketplace Extension for Visual Studio Code - Wrapper for cmake-tools to open output on build fails marketplace.visualstudio.com |
Дополню насчет генерации compile_commands.json в случае если система сборки из коробки этого не может. Существует прикольная утилита Bear которая позволяет получить базу данных компиляции. Отлично работает в случае легаси проектов с самописными Makefiles. Из больших минусов - на данный момент поддерживается только Linux (можно использовать WSL).
|
Обновил патченый clangd:
|
Есть ли какой то способ заставить clangd искать ссылки в заголовочных файлах так же как это делает расширение от майкрософта?
|
Цитата:
|
| Время: 19:08 |