Seite 1 von 1

Tabulatornutzung beim Verfassen von Code

Verfasst: 04.11.2014 13:40
von Nico12345
Hallo zusammen,

es stört mich schon ziemlich lange und daher möchte ich es nun an die Experten heran tragen. Folgende Situation: Ich habe ein Stück Code auf meinem Windows PC, zum Beispiel im Editor Notepad++ geschrieben und möchte diesen nun in einen Beitrag einbetten um ihn anderen Lesern zu zeigen.

Ich kopiere also die geschriebenen Zeilen aus dem Editor heraus und füge sie hier in die Codebox ein. Heraus kommt dabei das:

Code: Alles auswählen

<html>                                            // Hier stehen Kommentare
    <head>                                        // ...
        <title>PHP-Test</title>                    // ...
    </head>                                        // ...
    <body>                                        // ...
        <?php echo '<p>Hallo Welt</p>'; ?>        // ...
    </body>                                        // ...
</html>                                            // Ende
Kann man das nicht hinkriegen, dass die Kommentare bündig bleiben, wie sie im Editor mit dem Tabulator erstellt wurden?

Viele Grüße,
Nico

Re: Tabulatornutzung beim Verfassen von Code

Verfasst: 04.11.2014 15:35
von Elsensee
Also es gab ja bereits eine nette Änderung bezüglich des Code-BBCodes in phpBB 3.1... :)
Wenn man in einem Code-BBCode auf die Tab-Taste drückt, erscheinen auch wirklich Tabs im Editor. (Und man springt nicht irgendwie zum nächsten Button)

Ich hoffe, ab 3.2 werden diese Tabs dann auch im Browser angezeigt, aber solange kannst du es ja mal mit folgendem Snippet probieren: (Jaaa, ich führe die Snippets wieder ein.. auch in 3.1 :D :lol: 8) )

Öffne: includes/bbcode.php
Finde:

Code: Alles auswählen

$code = str_replace("\t", '&nbsp; &nbsp;', $code);
und kommentier das aus, also einfach nur ein // davorsetzen. :wink:

Warum diese ganzen Zeilen da stehen bzw. was der Sinn dahinter ist, weiß ich grad nicht recht, aber durch diese Änderung solltest du die Tabs erhalten können und mit vernünftigen Browsern sollten die Tabs deine Kommentare bündig halten. :)

Das ist übrigens nicht als Extension realisierbar und es funktioniert auch nur bei Code, bei dem die Tabs in der Datenbank abgespeichert sind. Dies sollte ab 3.1 generell der Fall sein, außer bei PHP-Code, da es hier auch noch andere Faktoren gibt, die Tabs verhindern. Mit [code=php] geht das also nicht. :wink:

Re: Tabulatornutzung beim Verfassen von Code

Verfasst: 04.11.2014 16:12
von Nico12345
Danke für den Ansatz!

Jedoch führt das nicht ganz zum Erfolg, da scheinbar lediglich ein Tab gespeichert wird - Ein Beispiel:

Dies (symbolisch als Eingabe im Forum):

Code: Alles auswählen

Test				//test
test			   //test
führt zu (Ausgabe):

Code: Alles auswählen

Test   //test
test   //test
Und nicht zu (Ausgabe):

Code: Alles auswählen

Test           //test
test           //test
Soll heißen: Egal wie viele Tabs ich beim Schreiben (im Forum) tätige, der Abstand bleibt gleich.

Re: Tabulatornutzung beim Verfassen von Code

Verfasst: 04.11.2014 17:16
von Elsensee
Stimmt... Jetzt weiß ich wieder, warum das nicht sofort umgesetzt wurde... :lol:
Nico12345 hat geschrieben:Jedoch führt das nicht ganz zum Erfolg, da scheinbar lediglich ein Tab gespeichert wird
Naja, es werden schon alle Tabs gespeichert, nur zeigt der Browser die nicht alle an. Liegt aber nicht am Browser, sondern an HTML.

Dann müssen wir doch noch was ändern...
Öffne: styles/prosilver/template/bbcode.html (oder welchen Style du verwendest :wink: )
Suche:

Code: Alles auswählen

<!-- BEGIN code_open --><div class="codebox"><p>{L_CODE}{L_COLON} <a href="#" onclick="selectCode(this); return false;">{L_SELECT_ALL_CODE}</a></p><code><!-- END code_open -->
Ersetze mit:

Code: Alles auswählen

<!-- BEGIN code_open --><div class="codebox"><p>{L_CODE}{L_COLON} <a href="#" onclick="selectCode(this); return false;">{L_SELECT_ALL_CODE}</a></p><code style="white-space: pre;"><!-- END code_open -->
Caches löschen nicht vergessen, (Board-, Template-, Browser-Cache :wink: )

Re: Tabulatornutzung beim Verfassen von Code

Verfasst: 04.11.2014 18:20
von Nico12345
Mal ganz allg.: Sollte man ab 3.1 noch an Dateien "herum pfuschen", die nicht zum Style gehören?

Re: Tabulatornutzung beim Verfassen von Code

Verfasst: 04.11.2014 18:51
von Elsensee
Man darf und man kann es zumindest. :D

In diesem Fall wäre das okay gewesen, weil das 1. nur eine Zeile im Code war und 2. nicht als Extension geht. (Und 3. wir es sicherlich nicht in der Customisation Database auf phpBB.com veröffentlichen werden :wink: )

Es gibt ja auch weiterhin die Möglichkeit, phpBB mit dem automatischen Updater zu aktualisieren, wo Code-Änderungen ja größtenteils übernommen werden können. 8)