So XML support lessened, enhanced CVS support dropped. Not bad, considering all that's been added on since the original announcement. On the plus side, I got to learn about "View Recent Changes", which I now believe holds the undisputed title for "best hidden feature".
>Thanks for that summary. I was wondering what the changes were.
A couple more I missed last time. Looks like the GUI Builder enhancements have been dropped, as has drag-n-drop "Move" refactoring. It's unclear whether there will be increased number of warning levels for inspections.
That said, when you write it all out like that, it does make for a very impressive list. (Have I really written 200 new inspections since Pallada?)
That would be unfortunate. A very commonly complained about feature from Eclipse users.
(Have I really written 200 new inspections since Pallada?)
I sure hope so! Maybe we should double check that. Although I did count the total number of inspections and arrived at 500+, so hopefully I didn't miscount. :)
-- Rob Harwood Software Developer JetBrains Inc. http://www.jetbrains.com "Develop with pleasure!"
As of this morning, there are 487 inspections available in InspectionGadgets, 198 of which have automated or semi-automated quickfixes. Don't know how many there were when Pallada shipped, but I'd guess between 280 and 330. So 200 new inspections is within reason, but I'd check if I was you. Alternatively, you could just say "nearly 200", and you'll be safe. In the immortal words of Christopher Moore, "My approach to research is to always ask 'Is this accurate, or should I be more vague'"?
When this all started, I guessed I would maybe end up with 150 inspections at the outside...
The pantry is extremely bare. I think there are fifteen left in my "possibles" list, and most of those have been languishing for a while for good reasons. I'm just starting to build up a list of inspections for JSPs and Servlets, though, and that should probably take me over the top. Suggestions welcome, as always.
You may consider adding a few "universal" annotations" + their associated intentions and inspections.
annotation: @TestOnly - purpose: tag production code that is only- to be - used by test code.
inspection: - enforce: "this field/method/class may only be used by code in the test source tree" level=error - suggest: "this field/method/class can be annotated with @TestOnly" level=warning quickfix= add the annotation
intention: - move this method/class to the test code tree.
The "narrow scope of variable" has been asked but it's probably on the list of languishing possibles (unless it's been delegated to JB) due to the more serious flow analysis required. I miss it, too.
I would love this. However, depending on semantics, sometimes you want Collections.unmodifiableList(new ArrayList(x)), so your clients don't get ConcurrentModificationException...
Vincent Mallet wrote:
Do you care about intentions, too? How about an intention to wrap a "return List/Set/Map" with a call to Collections.unmodifiableList/Set/Map ?
As of this morning, there are 487 inspections available in InspectionGadgets, 198 of which have automated or semi-automated quickfixes. Don't know how many there were when Pallada shipped, but I'd guess between 280 and 330. So 200 new inspections is within reason, but I'd check if I was you. Alternatively, you could just say "nearly 200", and you'll be safe. In the immortal words of Christopher Moore, "My approach to research is to always ask 'Is this accurate, or should I be more vague'"?
I just counted 3353 vs. 4.5.4. I go to Settings > Errors, make sure the dialog shows 20 inspections per screen, and count the number of Page Downs I can do:
4.5.4 17 pages x 20/page + 18 on last page - 27 group headers = 331
3353 27 pages x 20/page + 4 on last page - 37 group headers = 507
So it looks like 'more than 500' is safe, but not '200+ new ones'. I'll change the text so it's 170+. Is this a fair way to count them?
-- Rob Harwood Software Developer JetBrains Inc. http://www.jetbrains.com "Develop with pleasure!"
Flag usages of Oracle specific types when they could be replaced with straight JDBC ones: ARRAY, BLOB, CLOB, OracleCallableStatement, etc. (in many cases manipulating the JDBC interface is good enough: Array, Blob, Clob, CallableStatement) + quickfixes.
I'm working on a "Narrow scope" intention, using some simple heuristics instead of flow analysis. So it's a little less advanced, but certainly better than nothing. It just needs some polishing at the moment. Unfortunately it looks like I won't have time to do that this week, but I hope I will get it finished soon.
Bas
Vincent Mallet wrote:
The "narrow scope of variable" has been asked but it's probably on the list of languishing possibles (unless it's been delegated to JB) due to the more serious flow analysis required. I miss it, too.
It's best to look for new features at http://www.jetbrains.com/idea/features/newfeatures.html
-
Maxim Shafirov
http://www.jetbrains.com
"Develop with pleasure!"
What I was looking for was how up to date are the indicators on the feature list are (i.e. done, planned and inprogress).
Those are quite outdated indeed. We'll need to update them, thanks.
-
Maxim Shafirov
http://www.jetbrains.com
"Develop with pleasure!"
So XML support lessened, enhanced CVS support dropped. Not bad, considering all that's been added on since the original announcement. On the plus side, I got to learn about "View Recent Changes", which I now believe holds the undisputed title for "best hidden feature".
--Dave Griffith
Dave Griffith wrote:
Thanks for that summary. I was wondering what the changes were.
You seemed to know about "View Recent Changes" in January;-)
http://www.intellij.net/forums/thread.jsp?forum=22&thread=122912&message=3440141#3440431
It is the king of hidden features. This feature is so hidden it even
hides itself from the memory of its users:-))
Bas
>Thanks for that summary. I was wondering what the changes were.
A couple more I missed last time. Looks like the GUI Builder enhancements have been dropped, as has drag-n-drop "Move" refactoring. It's unclear whether there will be increased number of warning levels for inspections.
That said, when you write it all out like that, it does make for a very impressive list. (Have I really written 200 new inspections since Pallada?)
--Dave Griffith
Dave Griffith wrote:
That would be unfortunate. A very commonly complained about feature from
Eclipse users.
I sure hope so! Maybe we should double check that. Although I did count
the total number of inspections and arrived at 500+, so hopefully I
didn't miscount. :)
--
Rob Harwood
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"
Dave Griffith wrote:
Unfortunately, I've never seen it work. It always throws some exception
when I try and use it :P
Ciao,
Gordon
--
Gordon Tyler (Software Developer)
Quest Software <http://www.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: (416) 933-5046 | Fax: (416) 933-5001
It works for me when there's no version control assigned to the project. Then it's really nice.
However, if I try to use it at work (using version control) then it all blows up.
it works for me, even when cvs is configured
although it took about a minute for the dialog to pop up when I've asked it to show the changes starting from the project root.
As of this morning, there are 487 inspections available in InspectionGadgets, 198 of which have automated or semi-automated quickfixes. Don't know how many there were when Pallada shipped, but I'd guess between 280 and 330. So 200 new inspections is within reason, but I'd check if I was you. Alternatively, you could just say "nearly 200", and you'll be safe. In the immortal words of Christopher Moore, "My approach to research is to always ask 'Is this accurate, or should I be more vague'"?
When this all started, I guessed I would maybe end up with 150 inspections at the outside...
--Dave Griffith
You should be able to pump that number up to 500 before release, right!? ;)
Jon
Chris Sherratt wrote:
Yep, I have CVS enabled. I submitted the exception, so hopefully they'll
be able to fix it.
Ciao,
Gordon
--
Gordon Tyler (Software Developer)
Quest Software <http://www.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: (416) 933-5046 | Fax: (416) 933-5001
Ok, there's enough meaningful information in the stacktrace so I hope we'll
be able to fix that soon.
-
Maxim Shafirov
http://www.jetbrains.com
"Develop with pleasure!"
The pantry is extremely bare. I think there are fifteen left in my "possibles" list, and most of those have been languishing for a while for good reasons. I'm just starting to build up a list of inspections for JSPs and Servlets, though, and that should probably take me over the top. Suggestions welcome, as always.
--Dave Griffith
Dave
>
You may consider adding a few "universal" annotations" + their
associated intentions and inspections.
annotation: @TestOnly
- purpose: tag production code that is only- to be - used by test code.
inspection:
- enforce: "this field/method/class may only be used by code in the
test source tree"
level=error
- suggest: "this field/method/class can be annotated with @TestOnly"
level=warning
quickfix= add the annotation
intention:
- move this method/class to the test code tree.
Alain
Is there already one to convert a field to a variable or visa versa? Or to
narrow/widen the scope of a variable?
Tom
Do you care about intentions, too?
How about an intention to wrap a "return List/Set/Map" with a call to
Collections.unmodifiableList/Set/Map ?
Vince.
The "narrow scope of variable" has been asked but it's probably on the list
of languishing possibles (unless it's been delegated to JB) due to the more
serious flow analysis required.
I miss it, too.
Vince.
I would love this. However, depending on semantics, sometimes you want
Collections.unmodifiableList(new ArrayList(x)), so your clients don't
get ConcurrentModificationException...
Vincent Mallet wrote:
Some javabean problems I saw lately:
- get/set methods type mismatches
- having getFoo and isFoo in the same class
Here is another one: Ability to convert
foo(bar++);
to
foo(bar);
bar++;
--
Thanks in advance,
Tom
Dave
>Suggestions welcome, as always.
>
Some time ago, we talked about smarter duplication removal/code
transformation intentions, like
before:
foo("one");
foo("two");
foo("three");
after:
String data={"one","two","three"};
for (String aString: data){
foo(aString);
}
There's still a lot of possibilities do in that direction.
Alain
Dave Griffith wrote:
I just counted 3353 vs. 4.5.4. I go to Settings > Errors, make sure the
dialog shows 20 inspections per screen, and count the number of Page
Downs I can do:
4.5.4
17 pages x 20/page + 18 on last page - 27 group headers = 331
3353
27 pages x 20/page + 4 on last page - 37 group headers = 507
So it looks like 'more than 500' is safe, but not '200+ new ones'. I'll
change the text so it's 170+. Is this a fair way to count them?
--
Rob Harwood
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"
Seems reasonable, and neatly within my guesstimates.
--Dave Griffith
A few other intentions/inspections, SQL related:
Flag usages of Oracle specific types when they could be
replaced with straight JDBC ones: ARRAY, BLOB, CLOB,
OracleCallableStatement, etc. (in many cases manipulating the
JDBC interface is good enough: Array, Blob, Clob, CallableStatement)
+ quickfixes.
intentions:
Blob blob = ...;
Array array = ...;
- statement.setObject(1, blob) ==> statement.setBlob(1, blob)
- statement.setObject(1, array) ==> statement.setArray(1, blob)
- blob = (Blob) rs.getObject(1) ==> blob = rs.getBlob(1);
- array = (Blob) rs.getObject(1) ==> array = rs.getArray(1);
..etc..
Vince.
http://www.jetbrains.net/jira/browse/IDEA-2400
Tom
I'm working on a "Narrow scope" intention, using some simple heuristics
instead of flow analysis. So it's a little less advanced, but certainly
better than nothing. It just needs some polishing at the moment.
Unfortunately it looks like I won't have time to do that this week, but
I hope I will get it finished soon.
Bas
Vincent Mallet wrote: