Forum: PC-Programmierung Editor mit Echtzeitformatierung


von Hoschi (Gast)


Lesenswert?

Hallo,

gibt es einen Quelltexteditor, den man so konfigurieren kann, daß er ein 
frei definiertes style-Schema bei der Ausgabe ausführt? Also praktisch 
Artistic Style, nur in Echtzeit und ohne Userinteraktion. So nervt mich 
z.B. bei allen Editoren (z.B. Eclipse oder CodeLite), daß
1
int main (void) {
2
     ...
3
}
vorgegeben ist, ich aber lieber
1
int main (void)
2
{
3
    ...
4
}
hätte. Ich habe selbst bei der "Königin" Eclipse diese Funktion bisher 
nicht finden können.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hoschi schrieb:
> Eclipse diese Funktion bisher
> nicht finden können

Bei Eclipse:
 Code formater nach Wünschen konfigurieren
 Save Actions
 [x] Format Sourcecode

fertig...

'Wenn du es "live" benötigst ohne zu speichern: STRG + F

von Lutz (Gast)


Lesenswert?

Sowas suche ich auch händeringend. Ich suche aber was, was beim Eingeben 
der öffnenden geschweiften Klammer schon diese Formatierungsregeln 
beachtet. Automatisch, ohne irgendwelche Tastenkombinationen. In der 
Grundeinstellung hat Eclipse ja auch ein Formatierungsschema. Nur das 
anpassen, das wär es.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hä? Also das mag ja erst mal schön klingen, aber höchstwahrscheinlich 
würde es sich spätestens nach ein paar Minuten nerven wenn, während du 
tippst, die Zeichen wild durch die Gegend springen.

Die Codetemplates wiederum lassen sich anpassen (z.B. wenn du dir die 
Schleifen/Bedingungen per code completion erzeugen lässt).

von Jasch (Gast)


Lesenswert?

Hoschi schrieb:
> Hallo,
>
> gibt es einen Quelltexteditor, den man so konfigurieren kann, daß er ein
> frei definiertes style-Schema bei der Ausgabe ausführt? Also praktisch
> Artistic Style, nur in Echtzeit und ohne Userinteraktion. So nervt mich
> z.B. bei allen Editoren (z.B. Eclipse oder CodeLite), daß
>
1
int main (void) {
2
>      ...
3
> }
> vorgegeben ist, ich aber lieber
>
1
int main (void)
2
> {
3
>     ...
4
> }
> hätte. Ich habe selbst bei der "Königin" Eclipse diese Funktion bisher
> nicht finden können.

"Königin" Eclipse? Bwahahaha!

Wenn Du die ultimative Freiheit bei sowas haben willst führt kein Weg am 
wahren König der Editoren - Emacs - vorbei. Kommt übrigens mit sowas wie 
eingebautem E-Mail-Client, News-Reader, Hex-Editor, Web-Browser, usw. 
(eat that, Eclipse!), entgegen anderslautender Gerüchte ist die 
Küchenspüle noch nicht eingebaut, und heutzutage sollte auch der 
Speicherverbrauch kein Argument mehr sein. ;-)

Emacs ist natürlich nicht für jeden das Richtige, die Einarbeitung ist 
anspruchsvoll wenn man volle Kontrolle will.

von blub (Gast)


Lesenswert?

Jasch schrieb:
> Wenn Du die ultimative Freiheit bei sowas haben willst führt kein Weg am
> wahren König der Editoren - Emacs - vorbei. Kommt übrigens mit sowas wie
> eingebautem E-Mail-Client, News-Reader, Hex-Editor, Web-Browser, usw.
> (eat that, Eclipse!), entgegen anderslautender Gerüchte ist die
> Küchenspüle noch nicht eingebaut, und heutzutage sollte auch der
> Speicherverbrauch kein Argument mehr sein. ;-)
>
> Emacs ist natürlich nicht für jeden das Richtige, die Einarbeitung ist
> anspruchsvoll wenn man volle Kontrolle will.

Ja emacs ist wirklich ein super Betriebssystem, nur leider fehlt noch 
ein guter Editor dazu.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Jasch schrieb:
> König der Editoren - Emacs - vorbei. Kommt übrigens mit sowas wie
> eingebautem E-Mail-Client, News-Reader, Hex-Editor, Web-Browser, usw.

Nicht zu vergessen: Tetris :)

blub schrieb:
> Ja emacs ist wirklich ein super Betriebssystem, nur leider fehlt noch
> ein guter Editor dazu.

Es sollte ja kein allzu großes Problem darstellen, den Vim in Emacs Lisp
nachzuprogrammieren ;-)

Einen Ansatz in dieser Richtung gibt es übrigens schon:

  http://www.emacswiki.org/emacs/VimMode

von Lutz (Gast)


Lesenswert?

Läubi .. schrieb:
> Also das mag ja erst mal schön klingen, aber höchstwahrscheinlich
> würde es sich spätestens nach ein paar Minuten nerven wenn, während du
> tippst, die Zeichen wild durch die Gegend springen.

Soooo abwegig ist der Gedanke gar nicht; da ist wohl was dran.

Jasch schrieb:
> Emacs ist natürlich nicht für jeden das Richtige, die Einarbeitung ist
> anspruchsvoll wenn man volle Kontrolle will.

Er soll ja wirklich alles können. Aber wie gesagt: Die Einarbeitung. Bis 
man das verinnerlicht hat, gibt es wohl schon ein neuronales Interface 
und man braucht den Text nur noch "denken" ...

von Vlad T. (vlad_tepesch)


Lesenswert?


von Tom K. (ez81)


Lesenswert?

Eclipse (Galileo/CDT):
Window, Preferences, C++, Codestyle, BSD/Allman setzt die Klammern 
richtig duck. Einiges lässt sich auch einstellen, komplett frei ist 
das aber nicht.

von Hans M. (hansilein)


Angehängte Dateien:

Lesenswert?

für java kann man zumindest alles einstellen

von Hoschi (Gast)


Lesenswert?

Tom K. schrieb:
> Eclipse (Galileo/CDT):
> Window, Preferences, C++, Codestyle, BSD/Allman setzt die Klammern
> richtig duck. Einiges lässt sich auch einstellen, komplett frei ist
> das aber nicht.

Hans Mayer schrieb:
> für java kann man zumindest alles einstellen

Ja, nur leider wird das nicht in Echtzeit wirksam. Man muß erst "format" 
auswählen, dann wird es wirksam. Und das können so ziemlich alle 
Editoren über ein Astyle-Plugin (oder gleich schon integriert).
Im Moment liebäugel ich gerade mit Codelite. Nur mit den 
Standard-Shortcuts copy, paste, cut bzw. deren Belegung klappt das gar 
nicht. Scheint ein bug zu sein. Na ja.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

SOrry aber ich check nicht was bei dir Echtzeit ist... Was ist den genau 
dein Problem?
In der Firma wo ich gerade tätig bin wird auch der "tolle" Style mit 
Klammer in nächster Zeile genutzt und Eclipse hat zumindest bei meiner 
Konfiguration da keine Probleme...

von Hans M. (hansilein)


Lesenswert?

Ich glaube er will daß während des tippens formatiert wird.

von Martin (Gast)


Lesenswert?

So verstehe ich das auch. Emacs kann das (mit Einschränkungen), das 
nennt sich dann electric-*

von Jasch (Gast)


Lesenswert?

Martin schrieb:
> So verstehe ich das auch. Emacs kann das (mit Einschränkungen), das
> nennt sich dann electric-*

Naja, die electric-* Minor-Modes sind ja nur was vorgefertigt da ist.

Wer Emacs-Lisp lernt kann so ziemlich jede gewünschte Anpassung machen, 
über Hooks oder Ersetzung vorhandener Funktionen.

Mmmmm, Lisp, lecker. ;-)

Je übler die privaten Anpassungen desto schwieriger das Upgrade auf neue 
Versionen, aber das ist ja zu erwarten.

Übrigens ein Hinweis an die Leute die Angst vor "springendem" Code 
haben: bei Emacs ist "komisch" formatierter Code fast immer ein Hinweis 
auf Fehler im Code, z.B. fehlende Semikolons, Klammern usw., 
funktioniert ziemlich gut.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Jasch schrieb:
> fast immer

Ich bevorzuge dann aber doch eher ein deterministisches Verhalten ;) und 
bei Java gibt es in Eclipse (bei C/C++ in eingeschränkter Weise) gleich 
eine automatische syntaxprüfung die mir ggf. auch gleich Vorschläge zu 
Korrektur gibt.

Was einrückungen/Formatierung ange´ht mach ich das seit Jahren nicht 
mehr per Hand sondern überlasse das dem Computer per zusätzlicher 
Save-Action.

von Hoschi (Gast)


Lesenswert?

Läubi .. schrieb:
> SOrry aber ich check nicht was bei dir Echtzeit ist... Was ist den genau
> dein Problem?

Hans Mayer schrieb:
> Ich glaube er will daß während des tippens formatiert wird.

Genau das meine ich. Puh.
Momentan mache ich es aus Ermangelung an dieser Funktionalität bei 
CodeLite, in dem ich einfach 2-3 Zeilen tippe und dann manuell den 
Formatierungsknopf drücke. Geht auch und man gewöhnt sich dran, schön 
ist es aber auch nicht und ich suche halt einen "vernünftigen" Weg. Die 
Funktion an sich gibt es ja, nur nicht so, wie ich es gerne hätte (muß 
manuell aufgerufen werden). Auch die "echte" gesuchte Funktionatlität 
gibt es ja. Man gibt z.B. eine öffnende geschweifte Klammer ein und es 
wird automatisch ein Zeilenumbruch, ein TAB mit aktueller Cursorposition 
und eine schließende geschweifte Klammer noch eine Zeile weiter 
eingegeben. Super, nur ich hätte gerne ein anderes Codingschema. Das 
ist mein Problem ...

von Läubi .. (laeubi) Benutzerseite


Angehängte Dateien:

Lesenswert?

Wo jetzt in Eclipse?
Da würde ich über die Templates gehen, da kannst du z.B. den Style für 
bestimmte Templates umstellen.

Dann einfach z.B. if STRG+SPACE RETURN und du hast ein schönes if 
statement nach deinen Vorgaben, sparst dir noch das tippen und mit 
Return kannst du bequem nach eingabe der condition innerhalb des Blocks 
springen.

Ansosnten wie gesagt: STRG+SHIFT+F wendet das aktuelle Codeschema auf 
den Code an und dieses kann man auch recht feingranular konfigurieren.

von Jasch (Gast)


Lesenswert?

Läubi .. schrieb:
> Jasch schrieb:
>> fast immer
>
> Ich bevorzuge dann aber doch eher ein deterministisches Verhalten ;) und

Ahhh, ein Notepad-Fan. ;-)

Bei den Editoren mit Automatiken drin habe ich noch kein wirklich streng 
deterministisches Verhalten gesehen, kann es theoretisch doch auch 
garnicht geben?

> bei Java gibt es in Eclipse (bei C/C++ in eingeschränkter Weise) gleich
> eine automatische syntaxprüfung die mir ggf. auch gleich Vorschläge zu
> Korrektur gibt.

Ja, Eclipse ist schon auch cool. Das Visual Studio klaut ja auch heftig 
bei denen, leider sind die so langsam dabei...

> Was einrückungen/Formatierung ange´ht mach ich das seit Jahren nicht
> mehr per Hand sondern überlasse das dem Computer per zusätzlicher
> Save-Action.

Autsch, das wäre mir zu heiss. Gespeichert werden soll was ich sehe.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Jasch schrieb:
> Gespeichert werden soll was ich sehe

Dann schreibst du entweder sehr kurzen/kompakten Code oder hast einen 
riesen Monitor... ich seh zumindest nicht immer den ganzen Quellcode vor 
mir ;)

Natürlich wird die Formatierung erst angewandt und dann gespeicher, 
sodass man dann die formatierte Version "sieht".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.