The Active Editing concept with IDEA 9 and Emacs

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.

Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei Ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Politikern schützt.

Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.

Mehr Informationen unter www.politiker-stopp.de.