Codebox mit Syntax Highlighting

03/24/2011 21:09 lanara#1
Hallo liebe EPvPler, mich würde interessieren, was ihr von der Idee einer Codebox inklusive Syntax Highlighting haltet. Ich habe das ganze bereits in anderen Foren gesehen und finde, dass es die Lesbarkeit von Quellcode deutlich verbessert, ohne dass man es erst in einen Editor kopieren muss, der das unterstützt. Das ganze gibt es in der Form sogar schon, allerdings nur für PHP. ([PHP][/PHP])

Ich denke aber, dass es besser wäre, wenn man das direkt in die Codebox mit einbaut und dann optional die Programmiersprache auswählen kann. Dadurch können mehrere Sprachen unterstützt werden. Allerdings weiß ich nicht, inwiefern das ganze in vBulletin machbar ist, da die Seite auf der ich es gesehen habe ein phpBB Board ist. Lange Rede, kurzer Sinn, am besten zeige ich es euch mal an einem Beispiel was ich meine. ;)


So sieht es im Moment aus, wenn man eine Codebox postet:

Code:
var gameMinLength              = 180000;

var joinChatAfterLogin         = true; // true = Bot geht in den Chat, um .login/Announces zu machen
var joinChannelInChat          = "OP MyBaal"; // Wenn der Bot in keinen bestimmten Channel soll, dann nichts eintragen
var channelLogin               = true; // true = Bot schreibt .login nachdem er eingeloggt ist
channelUsers.push("Account Name"); // Hier deinen Account Name eintragen
channelUsers.push("Char Name"); // Hier deinen Char Name eintragen

// %game --> "gamename-"
// %counter --> number of the next game
// %time --> time in seconds till game creation
// %password --> game password
var gameAnnouncement           = "Next Game: %game%counter in %time seconds."; // Wenn keine NG message im Chat geposted werden soll, dann nichts eintragen
Und so könnte es mit aktivem Syntax Highlighting aussehen:

Code:
[B][COLOR="Blue"]var[/COLOR][/B] gameMinLength              = [COLOR="Red"]180000[/COLOR];

[b][color="blue"]var [/color][/b]joinChatAfterLogin         = [COLOR="Blue"][B]true[/B][/COLOR];[COLOR="Green"] // true = Bot geht in den Chat, um .login/Announces zu machen[/COLOR]
[b][color="blue"]var [/color][/b]joinChannelInChat          = [COLOR="Gray"]"OP MyBaal"[/COLOR]; [COLOR="Green"]// Wenn der Bot in keinen bestimmten Channel soll, dann nichts eintragen[/COLOR]
[b][color="blue"]var [/color][/b]channelLogin               = [COLOR="Blue"][B]true[/B][/COLOR]; [COLOR="Green"]// true = Bot schreibt .login nachdem er eingeloggt ist[/COLOR]
channelUsers.push([COLOR="Gray"]"Account Name"[/COLOR]); [COLOR="Green"]// Hier deinen Account Name eintragen[/COLOR]
channelUsers.push([COLOR="Gray"]"Char Name"[/COLOR]); [COLOR="Green"]// Hier deinen Char Name eintragen[/COLOR]

[COLOR="Green"]// %game --> "gamename-"
// %counter --> number of the next game
// %time --> time in seconds till game creation
// %password --> game password[/COLOR]
[b][color="blue"]var [/color][/b]gameAnnouncement           = [COLOR="Gray"]"Next Game: %game%counter in %time seconds."[/COLOR]; [COLOR="Green"]// Wenn keine NG message im Chat geposted werden soll, dann nichts eintragen[/COLOR]
Der Vorteil liegt klar auf der Hand, man erkennt direkt was Kommentare, Sprachelemente oder Werte sind.

Hier noch ein Link auf ein Forum, in dem das Feature implementiert ist, die Codebox wird einfach mit [code=csharp][/code] gepostet: [Only registered and activated users can see links. Click Here To Register...] (etwas runterscrollen, hab gerade keinen besseren Thread gefunden)
03/24/2011 21:30 Muddy Waters#2
Also wenn das irgendwie umsetzbar ist, würde es mich wirklich freuen. :)

Wenn ich derzeit Syntax Highlighting benötige, muss ich es quasi manuell mit BBCodes umsetzen, was doch recht aufwändig und für längere Code Passagen nicht realisierbar ist.

Ich denke das wird jedem gefallen, der häufig Quelltext postet; die Frage ist eben nur, ob es für die Administration unter vetretbarem Aufwand umsetzbar ist.

Lg
Muddy
03/25/2011 04:45 Der-Eddy#3
Quote:
Originally Posted by Muddy_Waters View Post
Also wenn das irgendwie umsetzbar ist, würde es mich wirklich freuen. :)

Wenn ich derzeit Syntax Highlighting benötige, muss ich es quasi manuell mit BBCodes umsetzen, was doch recht aufwändig und für längere Code Passagen nicht realisierbar ist.

Ich denke das wird jedem gefallen, der häufig Quelltext postet; die Frage ist eben nur, ob es für die Administration unter vetretbarem Aufwand umsetzbar ist.

Lg
Muddy
Jo sowas ist etwas komplizierter solange noch niemand vorher ein Plugin dafür gemacht hat

man könnte alternativ auch eine Webseite basteln die automatisch den Code umwandelt also mit BB Code formatierungen
03/25/2011 12:00 lanara#4
Quote:
Originally Posted by Der-Eddy View Post
Jo sowas ist etwas komplizierter solange noch niemand vorher ein Plugin dafür gemacht hat
Ich habe mal etwas dannach gesucht un bin dabei auf [Only registered and activated users can see links. Click Here To Register...] (Generic Syntax Highlighter) gestoßen, war zwar ursprünglich für phpBB Boards, aber es sollte auch möglich sein es in vBulletin zu nutzen. Es gibt sogar ein vBulletin Add-on dazu ([Only registered and activated users can see links. Click Here To Register...]), allerdings weiß ich nicht ob das mit der hier genutzten Version kompatibel ist oder überhaupt noch aktuell ist, da ich mich mit dem Thema nicht wirklich auskenne.

Quote:
Originally Posted by Der-Eddy View Post
man könnte alternativ auch eine Webseite basteln die automatisch den Code umwandelt also mit BB Code formatierungen
Könnte nur zu Problemen bei größeren Codeausschnitten werden, da man durch die zusätzlichen BBCodes ja auch eher ans Zeichencap stößt. Allein in meinem kleinen Beispiel von oben wurde die Zeichenanzahl von 809 auf 1282 erhöht, durch die zusätzlichen BBCodes.
03/25/2011 22:48 GotDamned#5
Definitiv ja!
Bei längeren Codes nervt es schon.

Hoffe dass das umsetzbar ist
03/27/2011 12:05 loki-d2#6
ich hab mal ja gestimmt.find ich sehr viel übersichtlicher vor allem wenn mal einer eine frage hat wegen einem fehler.

lg loki
03/27/2011 16:15 RezChams#7
Aufjeden fall ein "ja"
Sieht nicht nur besser aus, sondern ist auch übersichtlicher
04/01/2011 13:25 Shrimps in Bierteig#8
Jauw, bin auch dafür. Denk auch für leute die neu dazu kommen, wird es einfacher sein den überblick zu behalten. Und man kann peinliche fehler vermeiden ;)
04/02/2011 15:52 =L=#9
Sicher doch, immer her damit!

Noch eine Idee: Wie wäre es, wenn man Code in einem neuen Fenster öffnen könnte?
Bei längerem Code verliert man schnell die Übersicht, vor allem wenn man parallel den Post lesen muss oder so...

=L=
04/02/2011 16:32 MrSm!th#10
/agree

Wenn ich Code poste, nutze ich immer die PHP Tags (außer, wenn es sich nur um wenige Zeilen handelt), weil die Code Ansicht viel zu unübersichtlich ist.
Und die PHP Tags sind nicht gerade die schönste Lösung, einige Syntax-Elemente werden nicht erkannt, weil sie in PHP nicht existieren und manche werden falsch interpretiert.

Da ich das schon auf diversen Coding Foren gesehen habe, sollte es auch nicht so ein ganz großer Aufwand sein, das einzubauen und da immer mehr Leute schon früh mit dem Programmieren beginnen, wird es sicherlich auch nicht nur eine geringe Nutzerzahl finden.

Also wie gesagt, total dafür!
04/02/2011 19:25 .IcksDeh#11
Jap!
04/13/2011 00:51 lanara#12
Bump. [Only registered and activated users can see links. Click Here To Register...]
04/14/2011 15:41 TimBlo88#13
Quote:
Originally Posted by lanara View Post
Bump. [Only registered and activated users can see links. Click Here To Register...]
Netter Smiley [Only registered and activated users can see links. Click Here To Register...]
Dein thread is mir jetz iwie doch noch aufgefallen wegen deiner Sig in meinem SmileyBot-Thread [Only registered and activated users can see links. Click Here To Register...]

Ich halte es für ein leichtes sowas einzubauen, ich schreibe selber auch PHP. Und ich bin geradezu ein Fan von RegExp [Only registered and activated users can see links. Click Here To Register...]
Also sowas lohnt sich auch in nem forum, welches nich viel mit codes zu tun hat.

Erst hab ich gezögert, zu sagen, einen clientseitigen BB generator zu verwenden, wie es etwa mein SmileyBot macht, nicht umbedingt wegen dem besagten Zeichencap sondern wegen der Syntax-Erkennung.
Gleich darauf habe ich an die Editoren gedacht, die auch eine Syntax haben.
Der Trick wäre klein: Der BB-Generator würde einfach auf dieselben Syntaxdateien zugreifen wie z.B. SciTE oder PSPad... Der Generator selber müsste nicht viel komplziertes können [Only registered and activated users can see links. Click Here To Register...]
04/16/2011 14:43 ldevil#14
Wäre sicher keine schlechte Idee. Der Aufwand dürfte aber auch nicht gerade klein sein, wenn man das selber schreiben muss. Machbar ist es, hab auch schon ähnliches geschrieben, aber es müsste sich halt 1. jemand hin setzten und das schreiben und 2. müsste es dann auch von den Admins überprüft und eingebaut werden.

Und ich denke nicht, dass sich jemand die Mühe macht, wenn nicht sicher ist, dass es auch eingebaut wird.

Aber eben braucht ja "nur" ein paar Regex die jeweils die Formatierung einfügen :)

edit: Ist leider wohl nicht für VB 3.8 aber sowas hier: [Only registered and activated users can see links. Click Here To Register...]
04/16/2011 14:58 MrSm!th#15
Das Plugin gibt es 100%ig schon für VB, nur mal nebenbei bemerkt ;O