Re: Tasklist UI issues
"Tim Lebedkov" <[email protected]>
| Newsgroups | gmane.comp.java.netbeans.modules.tasklist.devel |
|---|---|
| Message-ID | <001901c2a5b6$310690e0$cc65b2ac@homeshopohqkhs> |
Hi Tor, here is what I think: ----- Original Message ----- From: "Tor Norbye" <[email protected]> To: <[email protected]> Cc: <[email protected]> Sent: Monday, December 16, 2002 10:04 AM Subject: Tasklist UI issues > I just posted this document: > http://tasklist.netbeans.org/proposals/suggestions/ui-issues.html > > I would appreciate your feedback on it. > >... > *Issue 1*: What happens to the confirmation dialog in this case? For > now, I've simply added a "Fix All" button to the confirmation dialog Fix All button is enough > > > *Issue 2*: As you can see from the confirmation dialog screenshot, there ---- > > *Issue 3*: Should I add a "Fix All" action on category nodes so that you > can easily operate on a set of suggestions without needing to make a > selection (which often involves scrolling when there are lots of them?). yes > > *Issue 4*: For java compiler errors, I list both the errors themselves > (strictly speaking, these aren't "suggestions", but it's quite helpful > to see them while you're editing source so you don't have to mouse over > the error glyph in the source code) as well as suggestions for how the > errors can be fixed (when I can think of a solution). For example, if > you have a "undefined symbol: class List" error in Foo.java, I add two > suggestions: > > * Import java.util.List into Foo.java > * Import java.awt.List into Foo.java > > So, you end up with three items in the view; the last two are solutions > to the first. How do I show relationships like these? > I don't like nesting solutions under a task node. Why not to use Object SuggestionPerformer::getConfirmation(Suggestion suggestion) to show a panel with different suggestions? > > *Issue 5*: Let's say you've got a compiler error on the current line > (you see a red squiggly line in the editor on the current line) but the > error seen first in the Suggestions window is not relevant; because > there is another error in this file further up. > It would be better to draw a cursor like this: - | - > > *Issue 6*: For PMD rules in particular, I tend to get LOTS of rule > violations. For example, I may have 30 unused imports in a class > (because it started out as a copy & paste from a different file), or I > may have violated a particular rule because I don't agree with it (e.g. > the "OnlyOneReturn" rule in my case.) > subtypes for suggestions would be nice > > *Issue 7*: Let's say I allow subtypes as proposed above. How does this > show up elsewhere, for filtering and disabling types? > --- > > *Issue 8*: Right now, most suggestion providers provide suggestions when > > 1. a document is opened > 2. the current document changes (user selects another tab) > 3. the current document is edited (after a brief (2 second) delay) > > Is that the right thing to do? Or should rescans be triggered by > something else? For example, an alternative scheme could be > > 1. a document is opened > 2. a document is saved > > In other words, should the suggestions window reflect the current, > edited state of the document, or the on-disk, saved state of the > document? Suggestions should reflect the current state of the document. > > *Issue 9*: I'm showing "category nodes" for the types of suggestions. > What should happen if the number of suggestions of a particular type > goes down to 0 - should I remove the category node from the display as > well? For example, this easily happens if you're looking at a file with > compilation errors and then switch to a different file. Should the whole > javac compiler error node disappear or simply have no children? > ----- > > *Issue 10*: I have some "automatic fix" operations in the PMD > integration and javac parsing integration modules. For example, if a > field is reported as unused, double clicking on the exception will > remove the field. > > But what if the user had a comment above the field associated with that > field - should I remove the comment too? And what if there are multiple > comments? > > Unfortunately, I cannot do the right thing here, since I cannot > interpret the comments and discover if you have a scenario like this: > > /** description of the unused field */ > // Don't forget to get rid of this > private int unused; > For me the above JavaDoc comment doesn't belong to "unused" > > *Issue 12*: The Suggestions Window, as is obvious from the name, was > intended to list suggestions, not tasks in general. There's a separate > "User Tasks" window where users can enter tasks for themselves. In fact, > you can create separate tasklists, one for each project for example (in > the New From Template dialog), and opening each tasklist creates a > separate tab for it. > > Other IDEs have a single tasklist where all this (compiler errors, user > tasks) appear in a single window. Should we make it possible to add user > actions in this view as well? No > How high a priority is that? And if so, > should we change the name of the window to "Tasks" instead of > "Suggestions" ? (The fact that I'm listing both compiler errors, and > tasks scanned from source code (// TODO and so on) already makes this > relevant I think. Yes > > *Issue 13*: Related to the above. I've made it really easy to filter the > Suggestions View such that you only see one type of suggestion; for > example, if you choose "Java Compiler Errors" you only see those errors, > and the "category node" for these is hidden. (Also, the icon and tab > display name are changed from "Suggestions" to "Java Compiler Errors".) > --------- > > *Recommendation*: I'd like to push this out to version 1.1. > > *Issue 14*: Currently, when a new category node is shown, it's not > expanded. You have to open it yourself. This has the advantage that when > you first open a new file, you quickly see what suggestions are > available: > > * Java compilation Errors (4) > * Rule Violations (7) > * Source Comments (1) > * Copyright Warnings (1) > > On the other hand, it's annoying that I have to manually open the Java > compilation errors node to get to see the errors - these are critical so > I need to see them soon. > -------- > > *Issue 15*: I've added a "directory scanner" which lets you request > suggestions for a directory (recursively). This creates a new tab with > the suggestion results. Let's say you decide to apply fixes to a number > of files in this suggestions window. When should the files be saved? > > *Recommendation*: Files that were already open in the IDE should not be > saved. Any files that are "opened" only to apply a fix should be saved > immediately after applying the fix. >