LINUX.ORG.RU

IntelliSense VsCode и спецсимволы

 , ,


0

1

Привет всем. Такая проблема: мне надо написать макрос на C со спецсимволами CMake, типа #define MY_CONST @MY_CONST@. Проблема в том, что при сохранении файла, IntellSense автоматом вставляет пробел между литералом и спецсимволом, вот так: @MY_CONST @. Нетрудно догадаться, что это ломает код, как боретесь и что посоветуете адекватного для C++ в VsCode?

при сохранении файла, IntellSense

обычно при сохранении файла всё-таки не IntellSense что-то делает, а Prettier какой, вот его и надо настроить/выключить

anonymous_sapiens ★★★★★
()

IntellSense это FUBAR парсер, оно ничего не редактирует, только подчеркивает красным от неосиляторства.

Stil ★★★★★
()
Ответ на: комментарий от Stil

IntellSense принудительно форматирует текст, подчеркивает красным - clangd в данном случае.

LongLiveUbuntu ★★★★★
() автор топика

Очевидно, что не нужно выставлять С или С++ как тип файла, если это не валидный код на указанном языке.

unC0Rr ★★★★★
()
Ответ на: комментарий от AlexVR

Сяп. Да, это был он. С расширениями Microsoft такого нет.

Clangd еще и Qt код ломает (не видит заголовки). Странная штука.

LongLiveUbuntu ★★★★★
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Clangd тут не виноват. Форматируется через clang-format (если он в vscode является средством форматирования Си/С++ кода). Заодно в проекте можно создать файл .clang-format (см. https://clang.llvm.org/docs/ClangFormatStyleOptions.html)

Qt код ломает

По хорошему, если проект на CMake, и при его открытии появилось в vscode сообщение вида «разрешить cmake настроить …», то всё должно быть в шоколаде. Будет передан флаг CMAKE_EXPORT_COMPILE_COMMANDS и сгенерированный файл передан в clangd для понимания, что и куда. Но vscode использует 100500 костылей для своей работы, и «должно быть» срабатывает не всегда.

AlexVR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.