Ted Leung on the air: Open Source, Java, Python, and ...

Also in Eclipse news, here is IBM's Proposed contribution to the Eclipse Web Tools Platform Project. This is the contents of a zip that was posted to the newsgroup -- making it a pain to reference. I hope that the whole system of passworded newsgroups will be done away with now that Eclipse is independent.

-data
flag to the Eclipse launcher to do the job. Unfortunately, this doesn't work on the Mac. I posted a query to eclipse.tools.jdt and got instructions on what to do.
I've been hoping that the Eclipse folks would steal a feature from IBM's Websphere Studio Application Developer, which allows you to select a workspace directory from a dialog at startup. This plist editing on the Mac is a really good reason for doing the dialog. What if I wanted to switch among a few workspace directories?You'll have to edit the Info.plist file: - do a Control-click (or right button mouse click) on the Eclipse application - from the context menu select "Show Package Contents" - in the new folder double click on "Contents" - open the file "Info.plist" with your favorite text editor - at the end of your file (after the "Eclipse" key) change the existing arguments or add a new argument (enclosed in a <string> </string> pair). Be aware that there is already a "-data" argument. If you want to have your workspace in your home directory, you can use a '~' character as a shortcut for your home directory. So with the following two arguments your workspace will be created in your Document folder: <string>-data</string><string>~/Documents/workspace</string>

In other Eclipse news, codesugar is a new plugin that generates equals(), clone(), toString(), and hashCode() methods.


Lots of new refactorings, and improved integration with CVS. The ability to edit files outside the workspace.




Paul was my second line manager when I worked at IBM. Now he's Mr. Eclipse, which cool. It was even cooler that he still remembered me after all these years. We got to catch up a bit on people that we know and so forth. We started talking about Eclipse, and he introduced me to John Wiegand, which was also cool. I told him about my experiences with Eclipse in the field, and how I've given a number of impromptu demos of Eclipse at SeaJUG. I talked with the two of them about two issues: 1) how to explain Eclipse to hackers (emacs/vi hackers in particular). I related how it takes a little explaining to get my hacker friends to understand why Eclipse is so powerful and has the potential for so much more. 2) Integrating Jython as a scripting language / interactive shell for Eclipse. This would be really cool because you get get at all the Eclipse internals so you could write scripts that would perform series of actions. More on this in the next post. It was good to catch up with Paul again, and I appreciated the chance to talk about the Eclipse project goals in person. I've been concerned about the level of outside participation in the core Eclipse components, and the guys told me that they want to encourage it, but that its hard code for people to get into because its the internals of the compiler. They have been getting good contributions for SWT.


Today I saw a posting for Subclipse, which allows Eclipse to use Subversion as a version control system. Subclipse is based on the Svn-Up project, which uses JNI to talk to the Subversion C libraries. While this isn't the optimal implementation for Eclipse (using the Eclipse DeltaV and WebDAV support -- or more likely hacking it up to spec, would be better), it's a lot better than nothing. One side-effect of the JNI implementation is that the plugin is tied to specific versions of the Subversion libraries. All in all, a very welcome project.

javac
. He wonders if Eclipse is using jikes to compile Java, which is false. Eclipse has its own incremental Java compiler written in Java. I wonder how many other places there are where one compiler beats the other...


The Eclipse environment in the programming language arms race is equivalent to those JDAM GPS guided bombs. These weapons are cheap, it changes the battlefield in a revolutionary way. So the next time someone argues to you that C# has a nice syntactic feature, show him how Eclipse makes that irrelevant.As interesting proof of that claim, this morning Simon Fell said:
I think now more than ever, Microsoft's competition is closing in on area's that MSFT has in the past been way ahead of everyone else. For example, development IDE's, for a long time Visual Studio was way ahead of anything else, but now Eclipse gives it a serious run for its money, I find there are features in Eclipse that I miss when I switch back to VS.NET, and that it makes me a more productive Java programmer than VS.NET makes me a C# programmer (although I find the CLR's BCL to be more productive than the Java 1.4 class library).The reason for this is that Eclipse is not just a text editor. It understands programs. The builtin compiler generates a bunch of data structures that are kept around and fed back into the editor/searching whatever. This is where the power comes from.


- Emacs key bindings
- New Ant view and editor
- Linking to external files and directories (so others will stop harping on this)
- Linked rename
- More and improved refactorings
- Add Delegate Methods dialog


For those interested in how to do it, here's the steps:
- From the Java Perspective right click a file/package and select Team->Synchronize Outgoing Changes
- To compare the version you're check in with what's in the repository, expand the folders containing the resource you're interested in checking in
- Double click the resource to open the Java Structure Compare and Java Source Compare
- Read what you've changed
- Go back to the Struture Compare and right click, then select "Commit"
The last thing is that the Synchronize view comes up squished into the same pane as the tasks and console. To fix this, right click on the title of the Synchronize view and select "Fast View" to put it over in the Perspective bar on the left.

Other things I wish Eclipse would do:
- Code folding - this keeps getting put off
- Refactorings
- Convert parameter to field (and the reverse)
- Convert to inner class
- Split pane editing
- Ability to commit files from differences UI I like to check in by doing a diff and then writing the comments from the diff. It'd be great if I could select the filename in the structure compare view and be able to commit from there.
- Javadoc checking Last time I used Netbeans, there was some code that would walk all the Javadoc comments to make sure they weren't empty
- Ability to name versions within the local history
