Разбор ошибок Lint в Eclipse

Некоторое время назад я написал в блоге использование lint в eclipse, теперь я хотел бы, наконец, заставить работать синтаксический анализ ошибок, чтобы я мог щелкнуть строку информации о линтах / предупреждениях / ошибках и перейти в это место в коде. Кажется, есть несколько стандартных подходов, но я не могу заставить их работать. Я открыт для общего или конкретного ответа на один из вопросов ниже.

  1. Использование make-файла вместо внешнего инструмента. Я использовал управляемые сборки, но подошел близко, и теперь в моей управляемой сборке у меня есть конфигурация, которая пытается запустить lint вместо сборки. Единственная проблема заключается в том, что что-то в Eclipse продолжает добавлять к команде параметр «-k», что приводит к сбою lint. Кто-нибудь знает, как запретить Eclipse добавить эту опцию -k? (Если я удалю его, он просто вернется). снимок экрана с параметром -k

  2. Другой подход - проанализировать вывод в окно консоли. Я нашел подключаемый модуль под названием ErrorLink, который мне показался идеальным. К сожалению, либо я не могу построить соответствующее регулярное выражение, либо я не настраиваю инструмент для правильной работы с lint. В довольно редких инструкциях говорится, что нужно добавить ваш exe в файл .xml. Я нашел xml файл и добавил

    <consoleLineTracker class="net.sourceforge.sunshade.errorlink.RegexpLineTracker" processType="lint-nt" id="regexpLineTracker"></consoleLineTracker>

Затем я попробовал простое регулярное выражение, такое как (SomeFileName`.cpp), где я убедился, что SomeFileName.cpp отображается в результатах, но ссылки не создаются. Я не могу сказать, работал ли плагин ErrorLink на самом деле, но я предполагаю, что это не так. Так кто-нибудь когда-нибудь пользовался этим плагином? Есть какие-нибудь подсказки о том, как заставить его работать с ворсом?


person Tod    schedule 16.03.2011    source источник
comment
Я не получил никаких ответов, но получил значок перекати-поле, LOL.   -  person Tod    schedule 24.03.2011
comment
В ответе, который я пометил как ответ ниже, снятие флажка очистки, похоже, сработало. Эта проблема возникла снова сегодня, в пятницу, 13-го 2012 года, и это решение не помогло. Включение параметра Остановить при первой ошибке сборки на вкладке поведения приводит к исчезновению параметра -k.   -  person Tod    schedule 13.07.2012


Ответы (1)


  1. Перейдите на вкладку «Поведение», снимите флажок «очистить», добавьте туда свои параметры линта (это решило эту проблему для меня)

  2. Перейдите к:
    Строка меню: Окно | Настройки
    дерево навигации: C / C ++ | Сборка
    выберите вкладку: «Анализаторы ошибок»

    Нажмите «Добавить» справа от списка парсеров, назовите его как «my Funky PCLint RegEX» и выберите его.

    Нажмите "Добавить" в поле "Параметры анализатора ошибок" ниже.

Например, неидеальный список

  • Серьезность: Информация
  • Шаблон: (. ) ([0-9]): Ошибка -> Информация (. *)
  • Файл: $ 1
  • Линия: 2 доллара
  • Описание: $ 3

и - Уровень серьезности: Предупреждение - Шаблон: (. ) ([0-9]): Ошибка -> Предупреждение (. *) - Файл: $ 1 - Строка: $ 2 - Описание: $ 3

Предупреждение и информация почти одинаковы. приветствуется любой, кто настраивает регулярное выражение.

person Florian Reinhard    schedule 02.05.2011
comment
Что ж, слава богу людям, которые читают старые вопросы. Я отметил это как ответ на пункт 1 выше (такой простой, но такой неуловимый). Я также хотел бы выполнить шаг 2, но не могу найти то, что вы указали. У меня нет Window | Properties - у меня есть Window | ** Preferences ** и ** Project ** | Properties, но я не могу найти Build | Error Parsers ни в одном из них . В Project | Properties | C / C ++ Build - на панели содержимого справа есть вкладка «Анализаторы ошибок», так что это похоже на то, что вы имеете в виду, но я не вижу способа добавить синтаксический анализатор. Любая дальнейшая помощь будет принята с благодарностью. - person Tod; 03.05.2011
comment
да, я немного перепутал, вкладка «Анализаторы ошибок» - это именно то, что вы ищете, но в окне | предпочтения! собираюсь отредактировать ответ. - person Florian Reinhard; 03.05.2011