2016-06-09 6 views
1

Мы разрабатываем некоторые автоматизированные задачи на Java в Eclipse. Для этого мы используем нашу собственную инфраструктуру. В этих рамках мы имеем определенные getButton().press() и getButton().release()Расширение механизма ошибки/предупреждения Eclipse для включения других подсказок кода

Лично я забыл много раз, чтобы отпустить нажатую кнопку. Есть ли способ сказать eclipse или даже компилятору выбросить ошибку или, по крайней мере, предупредить, если после заявления о выпуске не следует соответствующий выпуск? Заявления о выпуске не должны сразу последовать заявлению прессы.

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

+0

[this] (http://stackoverflow.com/questions/14372036/is-there-a-way-to-create-custom-warning-in-eclipse) может помочь – guleryuz

+0

можно расширить любой из этих предлагаемые инструменты анализа статического кода? –

+0

http://checkstyle.sourceforge.net/extending.html и sonarqube кажется также расширяемым http://www.sonarqube.org/ – guleryuz

ответ

1

Ошибки/предупреждения, показанные в Eclipse, называются проблемными маркерами. Вы можете добавить маркер проблемы в качестве тега.

Here как проблемные маркеры реализованы в Eclipse:

  • Права перед компиляцией ресурса, они удалить все проблемные маркера из ресурса:

    void compileResource(IResource resource) { 
        resource.deleteMarkers(IMarker.PROBLEM, true, Resource.DEPTH_INFINITE); 
        doCompileResource(resource); 
    } 
    
  • Во время компиляции, ошибки прилагается к ресурсу следующим образом:

    void reportError(IResource resource, int line, String msg) { 
        IMarker m = resource.createMarker(IMarker.PROBLEM); 
        m.setAttribute(IMarker.LINE_NUMBER, line); 
        m.setAttribute(IMarker.MESSAGE, msg); 
        m.setAttribute(IMarker.PRIORITY, IMarker.PRIORITY_HIGH); 
        m.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR); 
    } 
    
  • Маркеры могут быть созданы таким образом:

    IMarker marker = file.createMarker(IMarker.TASK); 
    
  • и маркеры могут быть удалены таким образом:

    try { 
        marker.delete(); 
    } catch (CoreException e) { 
        // Something went wrong 
    } 
    

Далее вы можете найти в Eclipse F&Q и Eclipse Help.

Также может быть полезен this article.

 Смежные вопросы

  • Нет связанных вопросов^_^