пятница, 28 мая 2010 г.

Eclimd

Weeeeell, I'm compelled to acknowledge that after few days of investigation, I have revealed several tools and plugins which deserve our attention. They bring us to a brand new level of java development with vim. These plugins are elimd and viPlugin. They are integration plugins with eclipse and Vim. Using eclimd you can employ in Vim all features developed in Eclipse for Java. It looks fantastic, unless you should install eclipse and run it, which is too heavy job for my small netbook. So, we are on the way of creating builtin support for java in Vim).

вторник, 25 мая 2010 г.

Hello world

'Hello world!!!' - it is the first phrase that we write when learn a new programming language. I say, - 'Hello world!!!' in my first blog post. Here, in my blog I'm going to discuss Vim and Java. I want to create many tools for java development in Vim. I'm a fan of Vim and I'm a fan of Java. I don't understand why marvellous editor like Vim has so few features for editing and exploring Java programs. Why do we need IDE's with complex API for creating plugins and extremely simple text editors? Vim has simple API and good number of features for editing source code. Why not to implement necessary components for convenient refactoring and code exploration within Vim? I think this is task that deserves to be done. I've started with Fleiner's JTags(http://www.fleiner.com/jtags/) and adopted it for Java1.5 with Javaparser(http://code.google.com/p/javaparser/). My Jtags creates tags only for classes. I'm going to implement creating tags for methods, but in fact resource of this tool(tags) is limited. We can only point out places of the word under the cursor. But what we have now in contemporary IDE it is context dependant jumps. We jump to the implementation of the method of this particular variable right before the cursor. So we need something more complicated. Some of you can say - 'but we have VJDE'. I agree, VJDE is the most powerful tool on the Vim+Java scene, but it is still less powerful in code refactoring and exploration.