Zeilen in NetBeans automatisch umbrechen

Frezl

Erfahrenes Mitglied
Hey allerseits,

ich entwickle meine PHP-Projekte neuerdings mit NetBeans, weils übersichtlicher ist. Allerdings gibt es eine Sache, die mich stört:

Zeilen, die fürs Anzeige-Fenster zu lang sind, werden nicht automatisch umgebrochen.

Ich hab im NetBeans-Forum dazu nen Thread gefunden, wo jemand das gleiche Problem beschreibt. Allerdings kam dabei nur raus, dass Java ne Zeilenlänge von 80 Zeichen vorsieht und deshalb brauch man das nicht weil nur dumme Coder längere Zeilen machen. Am Ende wurde nur noch rumgestritten, aber ne Lösung wusste keiner.

http://www.netbeans-forum.de/viewtopic.php?f=2&t=1672

Aber immerhin beschreibt der Thread das Problem gut :)

Ich kanns nicht glauben, dass es für dieses Problem keine Lösung geben kann, da man in PHP schnell mals über 80 Zeichen kommt. Schon ein durchschnittlicher mySQL-Query ist länger :p

Hat jemand von euch ne Idee?

Viele Grüße,
Frezl
 
Zeilen, die fürs Anzeige-Fenster zu lang sind, werden nicht automatisch umgebrochen.
Vielleicht hilft das weiter: http://stackoverflow.com/questions/255862/word-wrap-in-net-beans/4059100#4059100

Ich kanns nicht glauben, dass es für dieses Problem keine Lösung geben kann, da man in PHP schnell mals über 80 Zeichen kommt. Schon ein durchschnittlicher mySQL-Query ist länger :p
Man kann auch PHP-Code auf max. 80 Zeichen pro Zeile formatieren. Niemand zwingt dich, deine Datenbankabfragen in eine Zeile zu quetschen.

Grüße,
Matthias
 

Frezl

Erfahrenes Mitglied
PHP:
/*
 * @ 1: Vielen Dank für den Link, das werd ich mir gleich mal anschaun.
 *
 * @ 2: Stimmt, niemand zwingt mich dazu und das ist auch gut so, weil ich das selbst so will. Viel schlimmer find ichs, dass ich dazu gezwungen werd, alles auf 80 Zeichen zu begrenzen! Und mir gehts absolut nicht in den Kopf, warum sich so viele dagegen sträuben!
 */

Ich hoffe, das Beispiel macht dir klar, was ich meine ;-)

// EDIT: Naja, schade, in der Vorschau musste man hier noch horizontal scrollen. Aber ein cleverer Board-Entwickler hat sich wohl gedacht, dass das wohl blöde wäre. Kluger Mann, der sollte sich mal bei NetBeans einbringen...

Grüße,
Frezl
 

Frezl

Erfahrenes Mitglied
[OFFTOPIC]
Ohje, hätt nicht gedacht, dass das so ein Ärger nach sich zieht :p Musste erst mal rausfinden, dass ich nicht die aktuelle NetBeans-Version hatte - der Updater hat immer behauptet, ich wär up to date...

Dann wars ein Geficke, bis ich die Projekte wieder importiert hatte, weil die beiden NetBeans-Versionen parallel installiert wurden und die neue immer gemeckert hat, dass meine Source-Files schon ein Projekt wären. Aber auch das hat schlussendlich geklappt.
[/OFFTOPIC]

Ich hab den Eintrag jetzt in der Config ergänzt und die Drop-Down-Option auch gefunden. Auf der erscheinenden Seite tauchen dann wieder zig Auswahlfelder auf, wo ich für verschiedene Syntax-Elemente das Umbruch-Verhalten festlegen kann. Da sind auch schon ein paar Sachen voreingestellt, trotzdem wird nix umgebrochen - und ich hab absolut keinen blassen schimmer, was ne sinnvolle Einstellung wäre :p

Viele Grüße,
Fred
 
Zuletzt bearbeitet:
PHP:
/*
 * @ 1: Vielen Dank für den Link, das werd ich mir gleich mal anschaun.
 *
 * @ 2: Stimmt, niemand zwingt mich dazu und das ist auch gut so, weil ich das selbst so will. Viel schlimmer find ichs, dass ich dazu gezwungen werd, alles auf 80 Zeichen zu begrenzen! Und mir gehts absolut nicht in den Kopf, warum sich so viele dagegen sträuben!
 */
Ich hoffe, das Beispiel macht dir klar, was ich meine ;-)
PHP:
/*
 * Die Begrenzung auf 80 (oder noch wenigen) Zeichen pro Zeile hat schon seinen
 * Sinn. Spontan fallen mir ein:
 *
 *  - Überlange Zeilen sind wegen einer fehlenden Strukturierung schwerer zu
 *    lesen. Wenn sich der Editor um den Zeilenumbruch kümmert, dann wird
 *    irgendwo umgebrochen. Wie man an deinem Beispiel recht schön sieht, gehen
 *    dann Einrückung und Zeilenpräfixe verloren, was den Lesefluss stört.
 *    Kümmert man sich selber darum, kann man an logisch sinnvollen Stellen
 *    umbrechen und dem Code Struktur geben.
 *
 *  - Zu lange Zeilen erschweren die Arbeit mit diff-artigen Tools (Versions-
 *    verwaltung!), da diese meist zeilenweise arbeiten. Zeigt ein solches
 *    Tool an, dass in einer 200-Zeichen-Zeile etwas geändert wurde, muss man
 *    die komplette Zeile durchlesen, um die Änderung zu sehen.
 *
 *  - In Zeiten von Breitbildmonitoren ist es nicht unüblich, mehrere Dateien
 *    nebeneinander geöffnet zu haben (z.B. bei C Quellcode und zugehörige
 *    Headerdatei, bei PHP Template, Model und Controller...). Da ist es
 *    praktischer, wenn die Zeilen nicht überlang sind.
 *
 * Wie du siehst ist es auch kein Problem, seine Kommentare derartig zu
 * formatieren.
 */
Man kann darüber denken wie man will, jedenfalls ist diese 80-Zeichen-Konvention keine reine Willkür.

Ich hab den Eintrag jetzt in der Config ergänzt und die Drop-Down-Option auch gefunden. Auf der erscheinenden Seite tauchen dann wieder zig Auswahlfelder auf, wo ich für verschiedene Syntax-Elemente das Umbruch-Verhalten festlegen kann. Da sind auch schon ein paar Sachen voreingestellt, trotzdem wird nix umgebrochen - und ich hab absolut keinen blassen schimmer, was ne sinnvolle Einstellung wäre :p
Du musst „All languages“ und „Tabs And Indents“ auswählen. Dann kannst du bei „Line Wrap“ einen Modus auswählen, der dir gefällt.

Grüße,
Matthias
 

Frezl

Erfahrenes Mitglied
Kümmert man sich selber darum, kann man an logisch sinnvollen Stellen * umbrechen und dem Code Struktur geben.

Grade das ist es aber, was ne sinnlose Zeitverschwendung ist. Die IDE soll mich doch bei der Arbeit unterstützen und sie nicht unnötig schwer machen. Warum macht die IDE das also nicht einfach automatisch?
Stell dir vor, du willst in der 1. Zeile deines Kommentars was ergänzen: Dann musst du ALLE Zeilen von Hand neu formatieren oder du fügst wegen einem Wort ne neue Zeile ein. Beides unbefriedigende Lösungen, die nur Zeit kosten bzw. hässlich aussehen.

Zeigt ein solches * Tool an, dass in einer 200-Zeichen-Zeile etwas geändert wurde, muss man * die komplette Zeile durchlesen, um die Änderung zu sehen.

Ich stimm dir zu, dass Code sinnvoll formatiert werden sollte, aber es gibt auch Beispiele, da leidet für mich die Übersicht, wenn ich zwanghaft ne Stelle zum Umbrechen suche.
Ich brech mysql-Statements z. B. dann um, wenn es sich um mehrere verschachtelte Abfragen handelt. Würde ich jede der verschachtelten Anfragen in sich umbrechen, würd ich den Code nicht mehr blicken.
Du siehst, ich hab da ne Logik, mit der ich effizient arbeiten kann und da empfinde ich es als persönliche Beleidigung, wenn ständig Leute (v.a. Entwickler von IDE) meinen, sie müssten mir ihren Stempel aufdrücken.

Die Begrenzung von 80 Zeichen ist ein grober Unfug, der noch aus den Zeiten stammt, als Monitore 640px breit waren und man im Texteditor noch von Hand umbrechen musste! Man sollte es eingem guten Entwickler zutrauen, dass er selbst weiß, wie er seinen Code strukturieren muss - auch wenn ne Zeile dann mal 90 Zeichen lang wird.

Du musst „All languages“ und „Tabs And Indents“ auswählen. Dann kannst du bei „Line Wrap“ einen Modus auswählen, der dir gefällt.

Das is bei mir leider ausgegraut :-(

Grüße,
Frezl
 
Zuletzt bearbeitet:
Stell dir vor, du willst in der 1. Zeile deines Kommentars was ergänzen: Dann musst du ALLE Zeilen von Hand neu formatieren oder du fügst wegen einem Wort ne neue Zeile ein. Beides unbefriedigende Lösungen, die nur Zeit kosten bzw. hässlich aussehen.
Da stimme ich dir zu, diese beiden Lösungen sind unbefriedigend. Ich verwende Netbeans nicht, aber bei Eclipse kann man dieses Problem einfach durch Drücken von Strg+Umschalt+F lösen (Eclipse formatiert den Kommentarblock dann automatisch neu).

Die Begrenzung von 80 Zeichen ist ein grober Unfug, […]
So kann man eine Diskussion auch beenden…

Das is bei mir leider ausgegraut :-(
Dann hast du bei der Modifikation der Konfigurationsdatei wohl was falsch gemacht. Welchen Inhalt hat deine netbeans.conf jetzt?

Grüße,
Matthias
 

Frezl

Erfahrenes Mitglied
Hey Matthias,

meine Config sieht jetzt wie folgt aus:

Code:
# ${HOME} will be replaced by JVM user.home system property
netbeans_default_userdir="${HOME}/.netbeans/6.9"

# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-Dcom.sun.aas.installRoot=\"C:\Programme\glassfish-v2ur2\" -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true"
# Note that a default -Xmx is selected for you automatically.
# You can find this value in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx here
# or on the command line.

# If you specify the heap size (-Xmx) explicitely, you may also want to enable
# Concurrent Mark & Sweep garbage collector. In such case add the following
# options to the netbeans_default_options:
# -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled
# (see http://wiki.netbeans.org/wiki/view/FaqGCPauses)

# Default location of JDK, can be overridden by using --jdkhome <dir>:
netbeans_jdkhome="C:\Programme\Java\jdk1.6.0_23"

# Additional module clusters, using ${path.separator} (';' on Windows or ':' on Unix):
#netbeans_extraclusters="/absolute/path/to/cluster1:/absolute/path/to/cluster2"

# If you have some problems with detect of proxy settings, you may want to enable
# detect the proxy settings provided by JDK5 or higher.
# In such case add -J-Djava.net.useSystemProxies=true to the netbeans_default_options.


## eigene Ergänzungen ##

# Zeilenumbruch im Editor-Fenster (Quelle: http://stackoverflow.com/questions/255862/word-wrap-in-net-beans/4059100#4059100, http://netbeans.org/bugzilla/show_bug.cgi?id=183795)
-J-Dorg.netbeans.editor.linewrap=true

Ich hab die Option incl. Kommentaren also einfach hinten angehängt.

durch Drücken von Strg+Umschalt+F
Das wär natürlich ne coole Sache. Leider hab ich die Funktion in NetBeans bis jetzt net gefunden, ich werd aber weiter danach suchen. Wird damit der komplette Code neu formatiert, oder nur die Kommentar-Texte?

So kann man eine Diskussion auch beenden
Warum sollte ich über was diskutieren, was für mich klar ist? Bei meiner Arbeitsweise finde ich es sinnvoll, dass die Zeilen automatisch umgebrochen werden, da ich meine Zeit nicht mit dem Einhalten von antiquierten Pseudo-Standards verschwenden will. Offensichtlich sehen das die NetBeans-Entwickler mittlerweile auch so, denn in http://netbeans.org/bugzilla/show_bug.cgi?id=183795 steht
When omitted the default for NB6.9 Beta willl be the line wrap turned off. For
dev builds the default is line wrap turned on since we are still confident to
stabilize the feature into the NB 6.9 FCS.
,
was für mich so klingt, wie wenn das Feature Standard wird, sobald es stabil läuft.

Whatever, falls ich jemals beruflich mit Java zu tun haben sollte, werd ich mich eh einen neuen Programmier-Stil angewöhnen müssen, weil da jede Firma ihre Eigenheiten hat. Aber bis es so weit ist, werd ich nach meinen Regeln programmieren ;-)

Viele Grüße,
Frezl