java - Things possible in IntelliJ that aren't possible in Eclipse? -
i have heard people have switched either way , swear 1 or other.
being huge eclipse fan having not had time try out intellij, interested in hearing intellij users "ex-eclipsians" specific things can intellij can not eclipse.
note: not subjective question nor @ meant turn ide holy war. please downvote flamebait answers.
ctrl-click works anywhere
ctrl-click brings clicked object defined works everywhere - not in java classes , variables in java code, in spring configuration (you can click on class name, or property, or bean name), in hibernate (you can click on property name or class, or included resource), can navigate within 1 click java class used spring or hibernate bean; clicking on included jsp or jstl tag works, ctrl-click on javascript variable or function brings place defined or shows menu if there more 1 place, including other .js files , js code in html or jsp files.
autocomplete many languagues
hibernate
autocomplete in hsql expressions, in hibernate configuration (including class, property , db column names), in spring configuration
<property name="propname" ref="<hit ctrl-space>"
and show list of beans can inject property.
java
very smart autocomplete in java code:
interface person { string getname(); string getaddress(); int getage(); } //--- person p; string name = p.<ctrl-shift-space>
and shows getname(), getaddress() , tostring() (only compatible type) , getname() first in list because has more relevant name. latest version 8 still in eap has more smart autocomplete.
interface country{ } interface address { string getstreetaddress(); string getzipcode(); country getcountry(); } interface person { string getname(); address getaddress(); int getage(); } //--- person p; country c = p.<ctrl-shift-space>
and silently autocomplete to
country c = p.getaddress().getcountry();
javascript
smart autocomplete in javascript.
function person(name,address) { this.getname = function() { return name }; this.getaddress = function() { return address }; } person.prototype.hello = function() { return "i'm " + this.getname() + " " + this.get<ctrl-space>; }
and shows getname() , getaddress(), no matter how may get* methods have in other js objects in project, , ctrl-click on this.getname() brings 1 defined, if there other getname() functions in project.
html
did mention autocomplete , ctrl-clicking in paths files, <script src="", <img src="", etc?
autocomplete in html tag attributes. autocomplete in style attribute of html tags, both attribute names , values. autocomplete in class attributes well.
type <div class="<ctrl-space> , show list of css classes defined in project. pick one, ctrl-click on , redirected defined.
easy own language higlighting
latest version has language injection, can declare custom jstl tag contains javascript , highlight javascript inside it.
<ui:obfuscatejavascript>function something(){...}</ui:obfuscatejavascript>
indexed search across project.
you can use find usages of java class or method , find used including not java classes hibernate, spring, jsp , other places. rename method refactoring renames method not in java classes anywhere including comments (it can not sure if string in comments method name ask). , find method if there methods of class same name. source control integration (does svn support changelists? idea support them every source control), ability create patch changes can send changes other team member without committing them.
improved debugger
when @ hashmap in debugger's watch window, see logical view - keys , values, last time did in eclipse showing entries hash , next fields - i'm not debugging hashmap, want @ contents.
spring & hibernate configuration validation
it validates spring , hibernate configuration right when edit it, not need restart server know misspelled class name, or added constructor parameter spring cfg invalid.
last time tried, not run eclipse on windows xp x64.
and suggest person.name or person.address. ctrl-click on person.name , navigate getname() method of person class.
type pattern.compile("");
put \\ there, hit ctrl-space , see helpful hint can put regular expression. can use language injection here - define own method takes string parameter, declare in intellilang options dialog parameter regular expression - , give autocomplete there well. needless highlights incorrect regular expressions.
other features
there few features i'm not sure present in eclipse or not. @ least each member of our team uses eclipse, uses merging tool merge local changes changes source control, winmerge. never need - merging in idea enough me. 3 clicks can see list of file versions in source control, 3 more clicks can compare previous versions, or previous , current 1 , possibly merge.
it allows to specify need .jars inside web-inf\lib
folder, without picking each file separately, when commits new .jar folder picks automatically.
mentioned above 10% of does. not use maven, flex, swing, ejb , lot of other stuff, can not tell how helps them. does.
Comments
Post a Comment