Консоль Eclipse: выявляйте шаблоны предупреждений и ошибок и делайте их кликабельными - PullRequest
9 голосов
/ 25 мая 2009

Я запускаю flex-компилятор (mxmlc) из ant из eclipse для некоторых наших сборок (они также предназначены для работы на нашем сервере непрерывной интеграции, поэтому я не собираюсь с использованием самого flex buildder) - - шаблоны mxmlc не распознаются консолью eclipse, поэтому я не могу нажать на них.

Шаблоны такие:

<абсолютный путь к файлу> (<строка №>): столбец: <столбец №> Предупреждение:

Не должно быть так сложно придумать регулярное выражение для обнаружения этих сообщений.

Как получить затмение для распознавания нового типа сообщения об ошибке? Нужно ли программировать собственное расширение или есть какая-то общая поддержка, в которой я могу просто добавить регулярное выражение в конфигурацию?

Я также мог бы попытаться заставить ant преобразовывать ошибки во что-то, похожее на ошибки Java, но я бы предпочел, чтобы eclipse распознал ошибки mxmlc.

Ответы [ 4 ]

8 голосов
/ 28 мая 2009

EDIT: Я нашел плагин, который делает это с немного более привлекательным: Sunshade Errorlink (прокрутите немного вниз). Я не совсем уверен, насколько это гибко, но в нем упоминается поддержка муравья.


Я знаю, что вам, вероятно, нужна реальная реализация, но вот грубая отправная точка для разработки плагина, который вы хотите. Если кому-то захочется его реализовать, пожалуйста, поместите здесь ссылку, чтобы указать на него. Я мог бы сделать это сам, если бы у меня было свободное время (ха!):)

Предполагая, что консоль основана на TextConsole, что кажется разумным, spec говорит:

Абстрактная текстовая консоль, которая поддерживает сопоставление регулярных выражений и гиперссылок.

Слушатели сопоставления с образцом могут быть зарегистрированы с консоли программно или через org.eclipse.ui.console.consolePatternMatchListeners точка расширения.

Я немного больше посмотрел, и у спецификации для этой точки расширения есть следующий пример:

<extension point="org.eclipse.ui.console.consolePatternMatchListener">
  <consolePatternMatchListener
    class="com.example.ExampleConsolePatternMatcher"
    id="com.example.ExampleConsolePatternMatcher"
    regex=".*foo.*">
    <enablement>
      <test 
        property="org.eclipse.ui.console.consoleTypeTest"
        value="exampleConsole"/>
    </enablement>
  </consolePatternMatchListener>
</extension>

Вам понадобится API IPatternMatchListenerDelegate , и вы сможете использовать TextConsole.addHyperlink для создания необходимой ссылки.

5 голосов
/ 20 января 2016

@ zvikico заставил меня больше изучить консоль Grep - ее можно настроить для создания интерактивных ссылок!

Текущая ссылка: http://marian.schedenig.name/projects/grep-console/ - вы можете установить его с Eclipse-Marketplace

Чтобы получить кликабельные ссылки, нужно сделать следующее:

  1. Установить Grep Console (я использую 3.7.0)
  2. Добавьте новое выражение (значок (?) в представлении консоли) для вашего файла / URL-адреса, убедитесь, что ваше регулярное выражение захватывает только файл / ссылку или у вас есть группа захвата () для соответствия только Файл / Ссылка

    FFDC-Vorfall an (.*\.txt)

    будет соответствовать выходам консоли, как этот:

    FfdcProvider logIncident FFDC1003I: FFDC-Vorfall an C:\server1_e2f9557d_16.01.20_12.54.37.4484801293756887191925.txt erstellt.

  3. На вкладке «Стили и ссылки» этого выражения дважды щелкните ячейки «Ссылка» либо всей линии, либо группы захвата.

  4. Выберите файл или URL

  5. В поле ввода для файла / URL-адреса используйте {line} или {1} для первой группы. Затем Grep Console будет использовать это значение.

  6. (Необязательно) Создайте стиль, подчеркнутый синим, чтобы ссылки выделялись

  7. Чтобы открыть файл / ссылку, вам нужно удерживать клавишу CTRL (можно изменить в настройках) и щелкнуть по ней

см .: Стили и ссылки и Строки шаблона Документации

2 голосов
/ 29 декабря 2014

Я пришел к этому вопросу несколько лет спустя, желая сделать что-то подобное с Eclipse CDT. Sunshade Errorlink, похоже, не работает в моей версии Eclipse (которая является 4.4.0). Таким образом, я собрал простой и непрофессиональный плагин, который, кажется, решает проблему адекватно для меня. Я поместил его на GitHub на тот случай, если кто-то еще захочет спасти себя от подобных хлопот или использовать мой код в качестве ссылки: https://github.com/mjwach/ErrorLinkyThing

1 голос
/ 25 мая 2009
Плагин

Grep Console сделает именно это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...