Tapestry Training -- From The Source

Let me help you get your team up to speed in Tapestry ... fast. Visit howardlewisship.com for details on training, mentoring and support!

Thursday, May 03, 2007

Launching IntelliJ for the first time...

First the damn cool crowd of NFJS speakers got me to buy a Mac, now they've suckered me into switching from Eclipse to IntelliJ. God help me, I don't even know where to start with this thing.


Jesse Kuhnert said...

Unfortunately I don't think I'll be able to help you with your mac problem - but mostly you should be guided along naturally. (or unnaturally for a while perhaps)

My favorite editor key sequences currently (not even covering what you can find when you peek into the keymap entries) :

-) Home / End keys - begin / end of line.

-) Alt -> left/right arrow - Takes you to right or left tab. (notice it's not "last editor position" or whatever the retarded equivalent is in eclipse)

-) Ctrl->F4 - close current tab.

-) I remapped my keys to handle it but seeing the emacs key mappings in there made me nostalgic for "select all text on current line" -> I have it mapped to ctl->shift->d .

-) Once further along you'll get annoyed with the bottom build / run windows getting in your way. Shift->esc to hide a window. Ctl->shift-F4 to obliterate it.

Watter said...

Good luck. I'm a converted-from-Eclipse-you-can-pry-Intellij-out-of-my-cold-dead-heads user, but it was a rough transition in the beginning. I sat next to someone who used it for about six months and eventually I just couldn't deny my IDE envy. I sweated it out for a month or two until my fingers finally adjusted to the different environment. There's no way I'd go back now, though.

David said...

I've switch from eclipse to Idea 2 years ago and I never be back ;)

If you like TDD and want the best IDE for refactoring IDEA is for you ;)

There is a book available :

Josh Long said...

Howard! Congrats! Remember, you can run mvn idea:idea on anything and get up and running. All you’ll need to do is go to file>settings > Version Control and make sure ‘Subversion’ is checked. Then, you’re set. No need to install plugins for JavaScript completion, version control, XML, etc. As to cool commands: shift+f6 to rename something... anything. It'll even generate a useful default name by the object's type! Shift + f12 to get all the tabs hidden and get full screen (akin to double click a code page’s tab in Eclipse), alt + insert to get a chance to generate accessor / mutators, constructors, hashcode/equals, etc, ctrl + k to submit subversion, and the usual suspects: ctrl +space to get autocompletion, ctrl + alt + L to get it to reformat code, and shift + f10 to get it to run your last configured "run" setting. Ctrl + “o” to Override methods, and ctrl + i to Implement a class. Your mileage may vary on the Mac, of course. I’m on Linux. These commands of course only help if you happen to need to do a lot of coding, which isn’t really much of an issue in Tapestry 5, though, right? :-) Good luck!

nirvdrum said...

One thing you'll notice missing immediately is the plethora of plugins that Eclipse has. This will really become evident as you rely on maven (not that the Eclipse maven plugin is anything to write home about). I found myself actually running both IDEs and bouncing back and forth as necessary.

Massimo said...

You shouldn't have done that.
You will cry blood tears :)

Bill Holloway said...

Howard, IntelliJ is clearly a great IDE, but please don't switch. I'm guessing wildly here, but I think the users on the list and in the Tapestry community in general are open source people who cannot or don't want to spend $250 on IntelliJ when Eclipse is free.

Having your screenshots in Eclipse and your working with the Maven2 and Jetty plugins in Eclipse enable anyone to get up and running with Tapestry and little cost. I know you'll continue to support Eclipse, but it's all the little things you do in Eclipse in comments in the tutorials, blogs, screenshots, and Tapestry site that form a corpus of "soft documentation" for Eclipse that, to me, is very valuable for that platform.

Marcus said...

Finally someone has a "moment of clarity", I totally agree with Bill Holloway post. Definitely that's not a great news.

Peter said...

their help docs are actually pretty good. Read up on the auto/smart complete options

I've found the nicest intro is the keymap:

Covers lots of features, and how to access them.

Sven.Homburg said...

i dont think (like Bill Holloway)
its a question of philosophy.
the question is:
witch IDE smooth me the best way
to my target.
And if its "Notepad" nobody should
blame me "But its MS-Software ..."

Bill Holloway said...

I'm trying to come from a very practical perspective rather than philosophical or political. IDEA rocks! There certainly are people (& companies) that can afford the $250 seat price for IDEA. But not all of us can or want to pay the price. I am one such. Eclipse is free and quite good.

The T5 "literature" so far has all been developed in Eclipse + relevant plugins. Probably many of us using T5 have followed the screencasts, tutorials, and documentation which are all Eclipse-centric. So we've dug a groove using Eclipse here and switching to IDEA would seriously throw me off. Now, if IDEA is far superior to Eclipse, go for it.

But if T5 is going to succeed as we predict, there will, at some point in the near future, be plenty of IDEA aficionados in our community to step up to the plate.

Happy Cinco de Mayo

d.a.i said...

I Agree with Bill Holloway said, IntelliJ is clearly a great IDE, but most users on the list and in the Tapestry community in general are open source people who cannot or don't want to spend $250 on IntelliJ when Eclipse is free.

Allen@NTElectronics said...

I Agree with Bill Holloway.

I was attracted to Tapestry by the fact that it is open source and that I can use an open source IDE.

I do not want to switch to IntelliJ as I am fairly new to Tapestry and have been struggling to learn both Tapestry 5 and Eclipse. I have found both of the learning curves very steep and I do not want to pay $250 for another learning curve!

If your support switches to IntelliJ then I am afraid I am one fan you would loose, sorry but good luck in any case:-)

Howard said...

Holy Fear, Uncertainty and Doubt Batman!

It doesn't mache a whit of difference what IDE I use to create Tapestry, Tapestry doesn't know and never will have a dependency. What you're basically saying is that you may abandon Tapestry because I might, in the future, do a screencast that uses IDEA instead of Eclipse.

Yep, that's real clear thinking.

Just because I may (or may not) use IDEA doesn't mean that the Tapestry Maven Archetypes won't continue to support Eclipse.

And if IDEA is as good as everyone says, then you should buy it. I've bought many tools; I create open source software, I use the best software available, even if I have to pay for it. If a $250 piece of software saves me ten minutes a day, then it pays for itself in about three weeks.

I've spent more than $250 on a chair. I've spent more than $250 on a monitor (can you say '30" cinema display'?) I've spent more than that on a desk. I've spent way more than that on books. I've spent more than that just on seat upgrades so I could work while flying. Why would I not spend that money on (all snickers aside) my most intimate tool?

I'm dubious that IDEA is really that good, but I intend to find out for myself, because people whose opinions I trust tell me it is.

Bill Holloway said...
This comment has been removed by the author.
Richard Sang said...

I have seen people ask too much from Howard, not only want him to please themself, but also their teammates, not fair.

IntelliJ IDEA is a really one that let you code without mouse, 10 minutes one day should be easy to reach.

Charlie said...

It doesn't matter what you (Howard) personally use most of the time. What matters is that when you show someone a feature in Tapestry you use an open source IDE.

Many people have followed those screencasts exactly as they appear. If you use a $250 IDE for them then people can't directly follow them without the same IDE.

Sure many people know Eclipse well enough to follow the Tapestry part of your screencast with out actaully following it step by step. But they aren't always the people that the screencasts win over. Those screencasts could easily convert an ASP.Net developer to Tapestry (or atleast wet their appite).

$250 is not a lot of money if you have a decent job. But if you are a student wanting to get into web development. Thats a fare few pints of beer.

Tapestry effectivly needs an offical IDE. Not that you can't use it with any good Java IDE. But that you consistantly choose one Open Source IDE for demos, screencasts and screen shots.

Jesse Kuhnert said...

With almost every fiber of my personal philosophical being I couldn't disagree more with everyone trying to tell Howard which IDE he can / can't use.

I don't know about other OS developers but I'll let you in on a little secret - I don't give a crap about open source as a philosophy at all. I want the best of everything and that's it. If it happens to be open source then great.

There may be some potential validity in suggesting that screencasts try to reach the widest possible audience by choosing one or another technology for the majority of them - but telling someone which IDE to use for development is just baffling.

If a user is going to not use Tapestry because of which IDE each developer on the framework uses then I hate to say it but I won't really miss them.

DaveBooth said...

Just to quickly clarify some of the issues brought up here..

Firstly, Bill, you mentioned that "What matters is that when you show someone a feature in Tapestry you use an open source IDE." Presumably, this is so that the community can follow along, and grow as a result. However, the community should also be free to using their IDE of choice, and many open source contributors agree on that point. There is a huge list of open source projects currently using IntelliJ IDEA here, just as an example of the size of that community: www.jetbrains.com/idea/opensource/projects.jsp

As for some of the monetary issues:
If a developer chooses to subscribe to the altruistic, betterment of the community "open source philosophy", then they are also likely to contribute to open source projects, instead of just using whatever tool is available for free. JetBrains supports the open source community and offers free licenses of IntelliJ IDEA to contributors of open source projects, see: http://www.jetbrains.com/idea/buy/buy.html#openSource_whoQualifies

Charlie mentioned that $250 can be a lot for students wanting to get into web development. The $250 you reference is for a commercial, personal license - something that a money-earning developer can afford quite easily (as others have commented on above). If a student is trying to learn, and wants to use IntelliJ IDEA, then they have 2 options: They can get the Academic license for $99 (way cheaper than the $250), or they can ask their professors to talk to me, and hook the whole class up with a Classroom License for free (which allows all the students to use IDEA in class and at home on non-commercial projects). See: http://www.jetbrains.com/idea/buy/buy.html#classroom

Now, I work at JetBrains (open disclosure of potential bias ;), but i thought some of these facts might help clarify your discussion a bit :)

Have a great week guys!


Pozeracz Chmur said...

$250 is not a lot of money if you live in the USA, Germany, France. That can be true.
But there're many outside

BTW The Idea is not perfect. I'm working on quite big project and startup time is at least about 20 minutes so nobody wants to use it

bAbymAn said...

Good luck with IDEA, I have spent my $250 many times over and never been disappointed (even though I work for a company that can afford it they never quite seem to).

Enjoy, and let us know how you get on :)

Angelo Chen said...

hi, maybe somebody can help me on Intellij IDEA with Tapestry? I tried to use IDEA with Tapestry, here is what I did:
1.create a web project under IDEA 7.
2. Add Home.html and Home.page under resources.
3. Add following to web.xml:


note: i removed the tags so i can post here

4. Add Tapestry 4 lib to the project
5. and run the program, open following url:
the response from tomcat is:

Servlet myapp is not available

I applied the above steps to NetBeans IDE, it works.

Glad if somebody can help me on this, Thanks.


Tony said...

Off topic - Can anyone confirm if IntelliJ 7 works ok on Leopard? Don't send me to the various articles complaining about java on leopard, i've read all them, I just want to hear from a real user of IntelliJ before I upgrade.