2015-06-10 2 views
1

Так что в нашей команде люди также используют IntelliJ и Eclipse.FindBugs in Intellij - Можно повторно использовать файл .fbpref?

Первоначально Eclipse доминировал, поэтому настройки, сделанные в Eclipse IDE, теперь передаются IntelliJ.

Я нахожусь в процессе установки плагина Findbugs для IntelliJ. Я наткнулся на FindBugs-IDEA и QAPlug-Findbugs.

Я проверил оба варианта, и им нужен файл .xml как возможный «набор правил». У меня только .fbpref файл из затмения, хотя, который выглядит следующим образом:

... 
detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true 
detectorAtomicityProblem=AtomicityProblem|true 
detectorBadAppletConstructor=BadAppletConstructor|false 
detectorBadResultSetAccess=BadResultSetAccess|true 
detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true 
... 

Можно ли преобразовать это в .xml-файл, который принимается один из плагинов, которые я упоминал? Есть ли какая-либо документация о том, как должен выглядеть XML-файл для этих плагинов? Я пробовал использовать его, но мне не повезло.

Похоже, что использование конфигурационного файла для настройки поведения плагина FindBugs является довольно необычной практикой?

ответ

1

Если вы установили плагин FindBugs, файл XML уже существует:

project/.idea/findbugs-idea.xml 

Там нет, однако, не конвертер для .fbprefs. Вы можете открыть оба окна настройки:

  • Eclipse: Project > Properties > FindBugs
  • IntelliJ: File > Settings > Other Settings > FindBugs-IDEA

и скопировать эти настройки вручную. Вы также можете открыть оба файла (xml и .fbprefs) и немного переместить некоторые настройки с помощью скопирования & (особенно для детекторов).

Существует отличный сервис под названием Transformy, который может легко преобразовать эти детекторы. Вставьте линии детектора в левой панели:

detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|false 
detectorAtomicityProblem=AtomicityProblem|true 
detectorBCPMethodReturnCheck=BCPMethodReturnCheck|false 
.... 

и использовать это в качестве формата для преобразования:

<entry key="AppendingToAnObjectOutputStream" value="false" /> 

К сожалению, это путает правила, которые содержат числа, как FindSelfComparison2, поэтому скопировать их вручную.

+0

Это, наверное, лучший способ сделать это! Очень приятная услуга, о которой вы упомянули, очень удобна и ускорила весь процесс. Спасибо! – Mercious