< Switch comments - enabling and disabling Codeparts fast and easy | Now in english too >

2008-02-27 Codeteile mit Kommentaren schnell ein- und ausschalten

English Version also available

Ich dachte eigentlich den Trick kennt schon jeder, da ich ihn selbst seit vielen Jahren immer wieder nutze. Scheinbar aber nicht.

Daher hier ein kleiner Trick der mir beim täglichen coden immer wieder gute Dienste leistet. Da ich keinen expliziten Namen dafür kennen nenne ich das mal "Schalterkommentare".

Beim arbeiten an Programmcode kommt es sehr häufig vor, dass man Codeteile regelmäßig ein- und ausschalten muss.

Dazu kann man die gewünschten Zeilen mit einem // oder einem /**/ Kommentar immer wieder ein- und auskommentieren.

Bei längeren Codepassagen kann das schon mal etwas dauern und bei häufigen umschalten etwas/ziemlich nerven.

Fasst man den Codeblock aber in einen "Schalterkommentar" ein kann man ihn nur durch das ändern eines einzigen Zeichen komplett aus dem Verkehr nehmen und wieder zurück.

Schalterkommentare sind eine Mischung aus Einzeiligen und Mehrzeiligen Kommentaren. Eingeleitet werden sie mit: //* und mit // */ wieder beendet. Code der so eingefasst ist, ist voll funktionsfähig. Entfernt man nun den einen der / vom einleitenden Kommentar wird der gesamte Block deaktiviert.

Hier der Beispielcode:

Kommentar aktiv:


demo = {
    /*
    someTest.Javascript();
    toDemonstrate = 'how Easy';
    // */

    it.is('to make Code appear');
    and = ['disappear','again'];
    this.isVeryUseful('indeed');
};
 
Kommentar inaktiv:

demo = {
    //*
    someTest.Javascript();
    toDemonstrate = 'how Easy';
    // */
    it.is('to make Code appear');
    and = ['disappear','again'];
    this.isVeryUseful('indeed');
};
 

CSS fällt wegen der fehlenden Unterstützung für // Kommentare leider raus, Javascript, PHP und viele andere kommen damit aber wunderbar zurecht.

Update:
Mein Kollege Steve Webster brachte mich auf die logische Alternative fuer CSS:

Kommentar aktiv:


.test{
    border:1px solid red;
    /*/
    background-color:blue;
    /**/

    margin:1em;
}
 
Kommentar inaktiv:

.test{
    border:1px solid red;
    /**/
    background-color:blue;
    /**/
    margin:1em;
}
 

Trackbacks
jetzt auch in Englisch
Manch einem mag es bereits Aufgefallen sein: Seit meinem letzten Beitrag gibt es diesen Blog auch in englisch.Damit gebe ich dem Druck meiner lieben Kollegen bei Yahoo! in London nach, die mir seit ca. einem halben vorwerfen mein Blog sei irgendwie etwas
Weblog: web output
Tracked: Mar 05, 15:12
Switch comments - enabling and disabling Codeparts fast and easy
Deutsche Version auch verfügbarI always thought everybody knows this little Trick already because I'm using this for many years now. Apparently not. So here's the Hint that helps a lot during everyday coding. Because I don't know if there's a proper na
Weblog: web output
Tracked: Mar 08, 20:59

Comments

Jens Grochtdreiscoole Idee. Habe ich noch nie gesehen. Ist eigentlich eine logische Lösung. Das werde ich mir mal merken.
#1 Jens Grochtdreis (Homepage) on 2008-02-27 17:00 (Reply)
ReginaSuper Idee! Kannte ich auch noch nicht, werde ich aber in Zukunft heftigst benutzen. :-)
Danke für den Tipp!
#2 Regina (Homepage) on 2008-02-27 20:13 (Reply)
macxDanke nein. Ich bin ein Verfechter von sauberem Quelltext. Meine Programme müssen sauber sein. Ich kann ja richtig anstrengend sein, wenn mich andere drüberschauen lassen. Von daher kommt das für mich überhaupt nicht in Frage.
#3 macx (Homepage) on 2008-02-28 11:53 (Reply)
macxErgänzend möchte ich hinzufügen, dass meine IDE (Zend Studio) einfache Kommentare ermöglichen: Markieren und Tastenkombi drücken.
#4 macx (Homepage) on 2008-02-28 11:55 (Reply)
DennisCoole Idee für einfache Texteditoren. Allerdings kannst Du obige Lösungen auf die Javascript Version reduzieren, denn das würde für alle Sprachen, welche die "Strich-Stern" Kommentare akzeptieren gelten (inkl. PHP, JavaScript, CSS).

Im Normalfall ist aber wie schon erwähnt eine simple Tastenkombination im Lieblngseditor einiges schneller.
#5 Dennis (Homepage) on 2008-03-01 14:14 (Reply)
Kai LaborenzWenn es nur darum geht, Anweisungen schnell ein- und auszuschalten, lässt sich eine CSS-Zeile auch einfach durch ein "x" oder "xx" direkt vor dem Selektor ausblenden.

Bei Verwendung von "xx" lässt sich vor dem Livegangang auch schnell danach suchen.
#6 Kai Laborenz (Homepage) on 2008-03-04 07:14 (Reply)
Markus KühleInteressante Lösung aber ich denke auch dass es eher für einfache Editoren geeignet ist bei denen es keine Toolunterstützung gibt.
Bei Eclipse z.b. ist es auch möglich mit einer Tastenkombination viele Zeilen einfach und schnell ein bzw. auszukommentieren.
#7 Markus Kühle (Homepage) on 2008-03-05 14:48 (Reply)
Sven RainerEs gibt auch noch eine erweiterte Variante um zwischen zwei Möglichkeiten zu wechseln:
<br />
demo = {<br />
        /*//Code 1<br />
        someTest.Javascript();<br />
        toDemonstrate = 'case 1';<br />
        /*/
//Code 2<br />
        toDemonstrate = 'case 2';<br />
        //*/<br />
};<br />
 
gewechselt:
<br />
demo = {<br />
        //*//Code 1<br />
        someTest.Javascript();<br />
        toDemonstrate = 'case 1';<br />
        /*/ //Code 2<br />
        toDemonstrate = 'case 2';<br />
        //*/
<br />
};<br />
 
#8 Sven Rainer (Homepage) on 2008-04-11 11:44 (Reply)
Dirk GinaderKlasse Idee! Danke :-)
#8.1 Dirk Ginader (Homepage) on 2008-04-11 12:12 (Reply)
Add Comment

Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Gravatar/Favatar/Pavatar/MyBlogLog author images supported.
You can use [geshi lang=javascript/css/html4strict/php]your code[/geshi] tags to embed source code snippets