Tabulatornutzung beim Verfassen von Code

Fragen rund um die Installation, Administration und Benutzung von phpBB 3.1.x und höher und die Konvertierung zu phpBB 3.2.x.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version [3.1.x] oder [3.2.x] angeben.
Nico12345
Mitglied
Beiträge: 112
Registriert: 24.01.2010 16:27
Kontaktdaten:

Tabulatornutzung beim Verfassen von Code

Beitragvon Nico12345 » 04.11.2014 13:40

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

Benutzeravatar
Elsensee
Ehemaliger
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Tabulatornutzung beim Verfassen von Code

Beitragvon Elsensee » 04.11.2014 15:35

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:
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)

Nico12345
Mitglied
Beiträge: 112
Registriert: 24.01.2010 16:27
Kontaktdaten:

Re: Tabulatornutzung beim Verfassen von Code

Beitragvon Nico12345 » 04.11.2014 16:12

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.

Benutzeravatar
Elsensee
Ehemaliger
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Tabulatornutzung beim Verfassen von Code

Beitragvon Elsensee » 04.11.2014 17:16

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: )
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)

Nico12345
Mitglied
Beiträge: 112
Registriert: 24.01.2010 16:27
Kontaktdaten:

Re: Tabulatornutzung beim Verfassen von Code

Beitragvon Nico12345 » 04.11.2014 18:20

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

Benutzeravatar
Elsensee
Ehemaliger
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Tabulatornutzung beim Verfassen von Code

Beitragvon Elsensee » 04.11.2014 18:51

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)
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)


Zurück zu „Support-Forum“