Syndicate

Syndicate content

Flattr


Flattr this

If you like this, you can use flattr. ;)

Imprint

About
eMail: wishinet at gmail . com
PGP ID: 0xCCCA5E74

Jabber: wishi@jabber.ccc.de

The Active Editing concept with IDEA 9 and Emacs

txttxt

IDEA is OpenSource now

IntelliJ's IDEA 9 has an OpenSource community edition that is freely available for Windows, MacOS and Linux. It has got tons of features, even in the free edition. Most stuff that's not in the free Community Version isn't stuff I'd use for private programs. IDEA - in any version - has got Git support, best Java support out there, nice GUI builders, JUnit support, and a neat debugger. Things it lacks are some Emacs features I'm accustomed with. But the unique project structure lets us use any editor we want in order to perform the following workflow:

Active editing in short

  1. Prototype a solution. Syntactically incorrect, just put the stuff into the file without being nagged that it won't compile. Develop your thought, supported with Emacs' semantic completion modes and search functions.
  2. Implement it concretely. Correct the syntax stuff with IDEA's nice (Java) coding support. Render supporting graphical overviews and UML diagrams on the fly.

This separation between prototyping ideas and thoughts with an external editor (that does exactly what you expect and looks exactly like you want) and implementing concretely with a powerful IDE is "Active Editing". At least I don't think in Java code. So I need a layer between my idea of the program-flow and the implementation issues.

Emacs has got tons of very neat plugins supporting the editing experience with auto-completion, auto-suggestion. That is semantically aware, but normally it doesn't use the JVM runtime backend to perform these completion suggestions. That's where IDEA comes in very handy, because it compiles (like many other IDEs) and has a very sophisticated (Java) auto-indention.

The workflow

Bild 2.JPG


Reveal your file within your system through IDEA. On Windows there's a pendant (plugin) for the Explorer.

Open the revealed file within your editor of choice. Afterwards save it. Neither close the editor nor IDEA at any point.
If you bring IDEA into foreground again it'll automatically actualize the file and mark the issues.

Bild 3.JPG


Use the graphical navigator plugin to gain an overview in no time about what the project structure is about.

Use plugins to search through snippet repositories in order to support your concretization:

Bild 4.JPG
It'll provide you with that link.

Bild 1.JPG
Use an editor as an external tool. Take a look at the parameters. You could use /usr/bin/aquamacs if you installed it. Anyhow...

It's simply taking advantage from the world of editors and the world of IDEs combining it into one single workflow. I think the separation between concretization and simply prototyping the necessary programming tasks is supporting productivity.

I suppose that isn't too unique: I see many people wasting time to fix stupid syntax errors while they should simply ignore it and create a basic program structure. Often that stuff is getting deleted over and over again, getting replaced and restructured... because it doesn't fit. And it can't!

But it's natural to be a perfectionist in software development and to want to have everything fixed and in order.
- Surely you can deactivate the runtime code-checks and stuff. But why not take advantage of that? You can switch between the tools as often as you want. That's way faster than going into the preferences every time.

Never!

Never expect wonders. There's no wonder-IDE that's got all the competences. There're helpful sets of development procedures and strategies. But they all need skill. I think Emacs and IDEA require some coding experience. Beginners might overload IDEA with hundreds of plugins and lack Emacs skills at the same time. ;) I have had that. It's simply a matter of time until you're able to save time with this coding-strategy. I think it's very pragmatic. But at the same not for beginners.

Have fun,
wishi

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.

Save the nature. Don't print this!


I provide textual exports for every blog entry. However let's save the nature together. The nature is everything around us. Every being should be respected. Save the nature - don't print too much.


Die Umgehung dieser Ausdrucksperre ist nach § 95a UrhG verboten!
Inhaltlich Verantwortlicher gemäß § 10 Absatz 3 MDStV: Marius Ciepluch - Anschrift via eMail. Die eMail Adresse entnehmen sie dem Impresseum dieser englischsprachigen Seite.
Aus Datenschutzgründen habe ich weder offiziellen noch behördlichen Schriftverkehr via eMail. Dazu ist die postalische, beim Dienstleister hinterlegte, Anschrift zu verwenden.

Datenerfassung

Es werden keine personenbezogenen Daten erfasst. Logdaten werden anonymisiert.