C++
Visual Studio
Comments 35
0
Установил, но расширение никак себя в студии не проявляет. Что нужно сделать?
+3
Если качественно реализован разбор C++ кода со всеми Microsoft-specific вещами, пришедшими из глубины веков, плюс хорошая интеграция со студийными проектами и IDE, то вполне можно пока сосредоточиться на VS. На месте недорогих fixed price решений статического анализа пока зияющая пустота.
+3
Там была скорее специфика бизнеса, достигшего определенной зрелости. В программировании нельзя недооценивать возможности одиночки.
+8
1) Разве у вас был вариант покупки безлимитной по времени использования но ограниченной по возможностям обновления лицензии? Для программистов-одиночек это актуально.
2) Отсутствие Linux-версии… в связи с чем индивидуальные разработчики скорей всего предпочитали использовать cppcheck.
+2
Кросс-платформа без открытого кода возможна лишь на сильной коммерческой основе.
Открытому коду помогали бы владельцы заинтересованных платформ.
А так, зачем автору распыляться на то, что не интересно. Лучше улучшать свои алгоритмы, чем портировать и делать бинарные сборки под платформы, с которыми не работаешь.
-4
делать бинарные сборки под платформы
20 минут jenkins настроить и хук в репозитории повесить.
+6
А также заморочиться с написанием debian/, аналога под RPM, и прочих замечательных вещей.

Собрать под дистрибутив — это не только скомпилировать в Jenkins.
+1
Это вершина айсберга. Нужно тестировать под все платформы, продумать интеграцию с IDE, отличными от Visual Studio, следить за совместимостью с другим компилятором (основной, как я понимаю, MSVC, он не соберёт под все интересные платформы)
+2
Интересно-неинтересно, но анонсируя анализатор для кросс-платформенного языка странно игнорировать большое количество разработчиков под Linux. Если разрабатывать только то, что интересно, и только под Windows, то это домашняя поделка, а не продукт который будут использовать.
+2
А если разрабатывать не то, что интересно, под неинтересные и неудобные платформы, то можно быстро выгореть.

Сужу по личному опыту. В итоге я в своём опенсорсе вообще забил на поддержку Windows (код кроссплатформенный, но собрать под Win надо постараться ввиду упарывания C++14) и не занимаюсь пакетированием под дистрибутивы.
0
Кросс-платформенное решение требует большое количество времени и ресурсов для его поддержки. Мало выпустить решение под какую-либо платформу, т.к. по хорошему нужно обеспечить еще интеграцию с популярной для этой платформы средой разработки. Поэтому, на данный момент логичным решением все же является добавление начинки и функционала.
+5
Конечно, анализатор можно запустить из консоли, но такая схема требует ручной настройки (указание списка файлов, пути к директориям заголовочных файлов, предопределенные макросы и пр.).

Нет, см. scan-build. Например, для одного моего проекта весь запуск статического анализа, включая создание специфичной для сборки директории, сводится к
mkdir -p build/clang-analyzer
cd build/clang-analyzer
export CCC_CC=/usr/bin/clang
export CCC_CXX=/usr/bin/clang++
cmake -DCMAKE_C_COMPILER=/usr/bin/ccc-analyzer -DCMAKE_CXX_COMPILER=/usr/bin/c++-analyzer ../../src
scan-build make -j12
+3
Вы взялись за хорошее дело, сообществу нужен статический анализатор. Но почему вы заточились на Windows???

В идеале анализатор должен быть кроссплатформенным и состоять из двух частей: консольная утилита, и GUI-морда, которая взаимодействует с консольной утилитой. Если вам тяжело делать под Linux, делайте под Win со своей GUI-мордой. При наличии консольной утилиты, сообщество быстро запилит GUI под Линуха на свободных инструментах.
+4
До этого момента, важнее было сосредоточиться на алгоритмах и начинке анализатора. Пустое приложение на многих платформах никому нужно. Тем не менее, я собираю все предложения и идеи, которые здесь звучат, например, мне действительно нравится идея с кроссплатформенным open-source решением, поэтому думаю, что в течение нескольких месяцев, что-нибудь в этом направлении поменяется.
+4
Вопрос еще в том, планируете ли вы получать деньги за анализатор или нет. Если планируете, то развитие VS направления будет самым оправданным.

Если же не планируете, то нет никакого смысла писать проект в одиночку — делайте репозиторий на гитхабе, чтобы получать фидбеки, патчи, а, может, и целую команду заинтересованных разработчиков найдете. Также нет смысла поддерживать только VS, потому что многие разработчики, особенно одиночки, работают в других редакторах или IDE (vim, emacs, Qt Creator, KDevelop и прочее). Ну и как-то так сложилось, что среди юниксойдов больше ребят, готовых кодить open-source решения.
0
А где можно посмотреть описание диагностик?
Вот допустим я получил Error: Undefined behavior detected. «delete» operator has argument with no definition.
Соотв код:
if ( m_pLastContour )
  delete m_pLastContour;
m_pLastContour = pContour;

В чем ошибка так и не понял
+1
Видимо, не полностью определён тип, вроде такого:
class Class;
Class *m_pLastContour;
...
delete m_pLastContour;
0
Да, эта диагностика сигнализирует именно об этой ситуации. На данный момент никакой дополнительной документации нет. В ближайшее время будут поправлены тексты ошибок, они станут более вменяемыми.
Хочу правда заметить, что может возникнуть проблема с понимаем, если функция в которой это произошло будет шаблонной. В этом случае диагностика будет указывать тогда внутрь шаблонной функции и понять какая точка инстанцирования вызвало проблему не всегда тривиально.
0
Проблема может заключаться в том, что для открытия .vsix файла зарегистрирована более ранняя версия Visual Studio. О том как это изменить, хорошо написано здесь. А вообще такие вещи лучше писать и обсуждать в лс, нежели в комментариях.
0
А вообще такие вещи лучше писать и обсуждать в лс, нежели в комментариях.
Это спорно. Вам тогда придётся отвечать одно и то же несколько раз, а разным пользователям задавать один и тот же вопрос. А так этот комментарий можно найти и никого не беспокоить лишний раз.
0
Verone совместим с ReSharper C++? Не вижу в VS 2013 ничего похожего на скрины выше, хотя папка #Verone на диске есть, внутри xml'ки с диагностикой. Может что-то где-то включить нужно?
0
Да, совместим.
Но такая проблема может иметь место если скачанная, например, версия для Visual Studio 2013 была установлена на иную версию Visual Studio (например, 2012). Поскольку бинарные сборки между Visual Studio несовместимы между собой, расширение может некорректно работать. Но это, видимо, не для Вашего случая.
Чтобы увидеть все обнаруженные диагностики можно щелкнуть на иконку анализатора на панели инструментов

После перехода в нужный файл, справа от редактора будет отступ с подсвеченными ошибками как на первом скриншоте.
Only those users with full accounts are able to leave comments., please.