Categories


Authors:
woofgl
free software

JavaDoc Sync Plugin 10

Products: IntelliJ IDEA

Vendor: Daniel Bingham

Email: webmasterATperniciouspenguinsDOTcom

Website: N/A

Description:

The JavaDoc Sync Plugin will assist you to keep your JavaDoc in sync between interface definitions and the implementations, or method definitions and method overrides. The plugin now uses template based generation of JavaDoc, so that the JavaDoc text can now easily be customized to your needs.

The JavaDoc Sync Plugin was originally written by Raymond Brandon but was updated for IntelliJ 8 by woofgl

The JavaDoc Sync Plugin can:
  • highlight methods that define the @inheritDoc tag but there's no super method
  • highlight methods that define the @inheritDoc tag but the super method doesn't have javaDoc
  • highlight a class if one or more methods do not define JavaDoc
  • Generate JavaDoc for all methods that do not define JavaDoc according to user defined templates
  • Ignore methods that do not match the configured access modifier level
  • Ignore overridden methods of anonymous classes or inner classes
  • highlight methods that do not have JavaDoc
  • highlight fields that do not have JavaDoc
  • highlight methods of interface implementations of which the JavaDoc differs from the JavaDoc defined at interface level
  • highlight overridden methods/constructors of which the JavaDoc differs from the JavaDoc defined in the super classes

When the JavaDoc Sync Plugin detects differences between the defining interface or base method and the implementing or overriding method, the user will get quick fixes presented to update the JavaDoc like:
  • Copy JavaDoc from parent
  • Move to parent and introduce reference
  • Replace parent JavaDoc
  • Generate JavaDoc from signature
  • Generate JavaDoc from field
  • Generate JavaDoc for all methods

To turn on the JavaDoc Sync plugin, go to Settings->Errors and select "JavaDoc issues"
Downloads: 2810
Rating:
Participated in rating: 2
Version Since Build Until Build File/URL Size (Kb) Date Details
0.1. 90.10000. . Download 81.33 2011-10-09 12:16:58 details
. .

Recent change notes:

The JavaDoc Sync Plugin will assist you to keep your JavaDoc in sync between interface definitions and the implementations, or method definitions and method overrides. The plugin now uses template based generation of JavaDoc, so that the JavaDoc text can now easily be customized to your needs.

The JavaDoc Sync Plugin was originally written by Raymond Brandon but was updated for IntelliJ 8 by woofgl

The JavaDoc Sync Plugin can:
  • highlight methods that define the @inheritDoc tag but there's no super method
  • highlight methods that define the @inheritDoc tag but the super method doesn't have javaDoc
  • highlight a class if one or more methods do not define JavaDoc
  • Generate JavaDoc for all methods that do not define JavaDoc according to user defined templates
  • Ignore methods that do not match the configured access modifier level
  • Ignore overridden methods of anonymous classes or inner classes
  • highlight methods that do not have JavaDoc
  • highlight fields that do not have JavaDoc
  • highlight methods of interface implementations of which the JavaDoc differs from the JavaDoc defined at interface level
  • highlight overridden methods/constructors of which the JavaDoc differs from the JavaDoc defined in the super classes

When the JavaDoc Sync Plugin detects differences between the defining interface or base method and the implementing or overriding method, the user will get quick fixes presented to update the JavaDoc like:
  • Copy JavaDoc from parent
  • Move to parent and introduce reference
  • Replace parent JavaDoc
  • Generate JavaDoc from signature
  • Generate JavaDoc from field
  • Generate JavaDoc for all methods

To turn on the JavaDoc Sync plugin, go to Settings->Errors and select "JavaDoc issues" 08 Oct 2011 recompile against 10.5.2:
14 Apr 2009 Added functionality, tested against 8.1(9732):
  • Added FIELD_COMMENT variable in the Getter Method and Setter Method templates.
07 Apr 2009 Bug fix release, tested against 8.1(9732):
  • Fixes StringIndexOutOfBoundsException when checking for reference to parent method.
  • Fixes incorrectly formatted Regular Expression when method arguments contained square brackets (i.e. "[]")
04 Oct 2008 Updated to use the changed plugin API with IntelliJ 8.
  • This update breaks backwards compatibility with previous IntelliJ versions.
10 Aug 2007 Bug fix release, tested against 6.0.5(6180):
  • Fixed duplicate introduce reference option.
  • //TODO Fix JavaDoc insertion is reformatted automatically causing it not to match with parent anymore.
14 Jul 2007 Bug fix release, tested against 6.0.5(6180):
  • Fixed NullPointerException when generating reference for method of anonymous class.
11 Jul 2007 Added functionality, tested against 6.0.5(6180):
  • New feature: support @inheritDoc tag. Verifies that parent has JavaDoc and highlights method if parent
  • doesn't.
  • New feature: generate JavaDoc for all methods at once at class level
  • New feature: configurable detection level for methods so that only methods with a certain access modifier are checked for JavaDoc
  • New feature: Ability to ignore methods of anonymous classes and inner classes
13 Mar 2007 Bug fixes and added functionality, tested against 6.0.4(6148):
  • New feature: use templates to allow customization of generated JavaDoc.
  • Bug: Generate JavaDoc for interface mentions class instead of interface
  • Bug: Depth first in finding super method causes wrong methods in interface hierarchy to be compared during inconsistency checks
  • Known issue: Generating JavaDoc for Enum types fails
23 Jan 2007 Bug fixes and added functionality, tested against 6.0.2(6107) and 6.0.4(6148):
  • Bug: Description of class implementing interface method without JavaDoc is "Overridden method does not have javadoc" instead of "Method implementation does not have JavaDoc"
  • Bug: Description of interface extending other interface and overriding method declaration without JavaDoc is "Method implementation does not have JavaDoc" instead of "Overridden method does not have JavaDoc"
  • Bug: Insertion of JavaDoc reference is mangled;
  • Bug: JavaDoc reference is not recognized when it contains qualified package although class is in same package as referenced class;
  • Bug: Constructor without JavaDoc is interpreted as overridden method;
  • Bug: Classes that extend each other should not need to have identical JavaDoc in constructors;
  • Reported bug by Henne Huhu: NullPointerException while editing in Jsp;
  • New feature: Inspection of missing JavaDoc on class level
  • New feature: "Add reference to parent" to solve inconsistent JavaDoc between two methods and keeping the exsisting JavaDoc
23 Dec 2006 Update to IntelliJ 6.0, including bug fixes and publication to plugins.intellij.net
27 Dec 2005 Initial build for IntelliJ 5.0

General usage instructions:

recompile javadoc sync 8 to 10

Comments:

blabno
Rated:
2012-10-17 00:05:02
Great plugin, when can we expect recompilation for Idea 11?
.
Mike001
Rated:
2012-02-07 18:23:42
ditto. getting same error as reported above. IDEA Community Edition 11.1 - Thanks!
.
Masterhard
2011-12-21 21:47:47
Love this plugin, but it does not work with Idea 11. I get:


com.intellij.psi.PsiElementFactory.createDocCommentFromText(Ljava/lang/String;Lcom/intellij/psi/PsiElement;)Lcom/intellij/psi/javadoc/PsiDocComment;: com.intellij.psi.PsiElementFactory.createDocCommentFromText(Ljava/lang/String;Lcom/intellij/psi/PsiElement;)Lcom/intellij/psi/javadoc/PsiDocComment;
java.lang.NoSuchMethodError: com.intellij.psi.PsiElementFactory.createDocCommentFromText(Ljava/lang/String;Lcom/intellij/psi/PsiElement;)Lcom/intellij/psi/javadoc/PsiDocComment;
at com.perniciouspenguins.ideaz.javadoc.fixes.GenerateFromSignature.doFix(GenerateFromSignature.java:31)
at com.perniciouspenguins.ideaz.javadoc.fixes.LocalQuickFixBase$1.run(LocalQuickFixBase.java:86)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:874)
at com.perniciouspenguins.ideaz.javadoc.fixes.LocalQuickFixBase.applyFix(LocalQuickFixBase.java:82)
at com.perniciouspenguins.ideaz.javadoc.fixes.LocalQuickFixBase.applyFix(LocalQuickFixBase.java:13)
at com.intellij.codeInspection.ex.QuickFixWrapper.invoke(QuickFixWrapper.java:81)
at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler$2.run(ShowIntentionActionsHandler.java:158)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:874)
at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler$3.run(ShowIntentionActionsHandler.java:171)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:112)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:88)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:76)
at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.chooseActionAndInvoke(ShowIntentionActionsHandler.java:176)
at com.intellij.codeInsight.intention.impl.IntentionListStep$2$1.run(IntentionListStep.java:232)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:333)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:686)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:534)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:416)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:374)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
.