Software Pretty Printer JRefactory Printing Elixir Extensions Line Numbering Metrics Stub Generator Dev Utilities Requested Features Release Notes Download Contributors |  | ## To Do List |
## Requested I'm starting to use SourceForge more and more. If you have time and you see a feature on this list that you would really want, could you please enter it in the SourceForge database? Here is how: Go to the JRefactory Project and click on the list of bugs or features. Then press the button to submit a new request. Thanks!!! Also, if you really want a feature that is listed here, send me e-mail which feature it is. The more people who want a feature, the sooner I'll get it done. (As it is, I'll never finish this list, so I prioritize the feature based on the number of requests for it.) ### Pretty Printer GUI for pretty printer configuration Removed duplicate import statements Remove import * A "remove imports not used" function (automatic or prompt at users choice?) Long loop for bug with super() and no ; The error box takes a long time to appear Removes CVS comments from the end of the file Blocks inside a method // single line comments move after the { When passing values to a function which spans more than one line, the parameters should line up with the ( If only a @return tag, don't include the double space after the name Space in statements but not expressions and space after ! Wrap long lines of code. They should be wrapped on parameter separator (","), then on open bracket ("("), then on expressions but not inside brackets. Parse Error dialog - only a single one with error in a scrollable area box File header without the stars to the left Eliminate javadoc comments if it is already documented in the interface Add a header only if no header comments are present Growing javadoc comments A single line // comment should be moved to the line before the code Remove {} around a single statement Indent variable declarations with the previous block Default comment for getAt and setAt If a method overloads a method from a parent class or abstract class or implements a method in an interface insert a javadoc comment that says that the description is in the appropriate interface/abstract method/parent class with a @see tag. Only use the variable spacing for fields (not for variables in a method) Make array declarations line up with the rest of the declarations Array {} line up with the declaration but the contents of the array are indented Sort implemented classes Sort thrown exceptions Newline before extends Newline before implements Option to add blank line after "package" Option to add blank line after "import" Sort order for imports. Example: put "java" on top, then javax, then other packages. This can be done in even more complicated, but logical way if you sort packages by level matching. Option to add blank line after every "import" group (java, javax, com...). Problem: some imports should be grouped by second package level, like "com" because they import very different things. Idea: if group contains more than "n" imports, split it on next level recursively. Import sort looks bad if you alread have blank lines between imports because it keeps blank line after import example: Option to add space before block statements like for, while, try, switch..., but only if they are not the first statement of containing block. Javadoc template for indexed properties (getSomething(int it), setSomething(int i)) Sort order: add option to sort by final / non-final. Option to add blank line(s) between method/class declaration and body. Templates for getters / setters / parameters: if property name contains uppercase letters, {3} should be split into lowercase words. Example: setHostName return "host name". In Javadoc, you'll get "Sets host name" rather than "Sets hostName". But if there are more than one uppercase letter, split and leave uppercase: setHostURL becomes "host URL". Comments for add / remove listener methods are strange (feature?!). Example: Add a removeSomething template. ### Refactorings Rename method Rename inner class Rename local variable Accurately reflect whether a method can be moved Move method into field Deleting comment before extract method Automatically manage length of undo stack NEXT Browser - instead of class diagram view Rename package Move inner classes into their own file Allow user to set public/package for parent class Push up a constructor Include the javadoc from the original file when you do an extract Create stub operation. User enters a method with arguments, highlights the method, and then selects create stub. System generates a method with the correct signature based on the inputs and a reasonable return (null or 0 or false). ConvertLocalVariableToInstanceVariable refactoring Change the parameters of the extract method Better at getting the return type when a return statement is included Encapsulate field (replace a public field with a private one, add getters and setters and replace all usage of the field with the appropriate accessor. ### UML Diagrams Add a tooltip for each class (especially when in 10% zoom mode) Put a wait cursor over the structure pane when loading the diagrams Scroll pane makes larger jumps for the key and class list panels Develop a layout engine Moving a class changes the view back to 100% View inner classes in a diagram Center Loading dialog box for the metadata Hide methods/fields/classes to simplify the diagram Edit classes in the UML diagrams (change class/method/field/arguments names + add/remove of the same + updates of usage) Add class to a package (without relationship to other classes) Sizing of classes in the UML diagram and more steps to the zoom function. Also, there should be a tick showing what zoom level is currently chosen The dialog box that pops up when "New UML diagram" is chosen has a very narrow window, unsuitable for long pacakage names. Resizing the dialog box does not help since the scrollpane does not "follow". JDK summary loader not sized for linux When mouse is held at background, it would be nice to move diagram with mouse. ### IDEs Integrate into netbeans Moving/Adding/Renaming classes should update JBuilder JRefactory plugs into JEdit (like JavaStyle) Plugin for VA4J I need to learn answers to the following questions before JRefactory can integrate with VA4J. Some answers are in Chapter 27. How can you get a list of all the classes in the repository? How can you get the text of a specific class? How can you set the text of a specific class? How can you get the current class that the user is editing? How can you get the text that the user selected? Access JRefactory from the structure pane of a .java file in JBuilder Add a new diagram to the project pane of JBuilder Integrate with Emacs JDE It would be nice if the default for the "New UML diagram" was the package that one are currently viewing. In JBuilder, I often want the UML diagram for the class that I am currently viewing. When a UML diagram is saved, it's (default) location is in its place in the package hierarchy. Fine. But why is it not shown in its place in the package hierarchy in the JBuilder project pane? Seems that all UML diagrams are shown at top level. Menu item to edit pretty.settings ### Other Better documentation of what the pretty printer does: The pretty printer does these transformations on the source file: reindentation accoring to bla bla style... sorting of methods and data members according to these criteria ... Just a brief overview of what changes the pretty printer does to the source possibly intermixed with some examples. Color blind colors in about box Do a check for style (catching and ignoring exceptions, correct case for fields and methods and classes, etc. Add embedded JSQL to the parser Online help Add the ability for a user to add a comment to the log file to serve as a vote for future refactorings Add "usage search". There obviously is one implicitly since the "Rename class" function updates all usages, but it would be nice to simply have the results available in a list with a "Show source" option. Then it would be possible to have the questions "is this class used at all?" and "where is this class used?" answered easily. A "find private fields/methods never used" function. Items found could actually be removed (after prompting the user ?) Likewise, a "Find protected/public/default fields/methods would be useful, searching all available code. Here the user must evaluate wether the items found can be deleted, since they may be used by others. But it would be helpful when searching for obsolete code in larger systems. Break the JPG file into pages Export UML diagram to another UML tool's format Indent standards from Sun
| Last Modified: November 28, 2000 |