• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Der Editor

Tronjer

Senior HTML'ler
Wahrscheinlich bin ich der Einzige, der sich hier blöd anstellt, aber ich komme mit dem Board-Editor nicht zurecht.

Ich code in Eclipse und verwende für Einrückungen TAB mit einer Einstellung von zwei Leerzeichen. Egal ob ich bei postings nun den einfachen oder erweiterten Editor verwende, beim copy & paste erhalte ich hier immer Einrückungen in doppelter oder dreifacher Größe. Letztens hatte ich es damit versucht, beim Programmieren Leerzeichen anstatt TAB zu setzen, und das Ergebnis nach dem Kopieren waren dann * innerhalb der Code-Tags.

Könnt ihr das nicht mal fixen, oder zumindest ein HowTo veröffentlichen, wie man beim copy & pasten aus einer IDE wie Eclipse vernünftige Einrückungen im Board produzieren kann? Ich habe ehrlich gesagt wenig Bock, den Umweg über einen Texteditor einzuschlagen und bin auch zu faul, den Code anschließend manuell anzupassen.
 
Werbung:
Also ich arbeite mit PSPad, da werden zwar die Einrückungen (TAB) beachtet, aber dafür fehlt der Zeilenumbruch, was auch lästig ist. Beim Einfügen wird der Zeilenumbruch aber noch angezeigt, erst in der Vorschau geht der flöten.
 
Notlösung: Quellcode in Notepad++ kopieren und daraus wieder Copy/Paste machen. Zumindest hatte ich mit dem Notepad++ noch nie Probleme. Allerdings habe ich auch keine Tabs, sondern lasse die mit Leerzeichen auffüllen.
 
Werbung:
Arbeite derzeit mit AptanaStudio, davor Eclipse, davor Dreamweaver.

Ich habe schon alles mögliche versucht. Entweder funktionieren die Einrückungen nicht, oder die Zeilenumbrüche oder beides. Sogar wenn ich Code direkt im Editor schreibe und mühsam Leerzeichen mache kann es vorkommen dass es alles zusammenhaut.

Meine Lösung: Einfach nicht mehr auf Threads antworten die mehr als einen 3-Zeiler benötigen.

Vielleicht liegt's auch daran dass wir beide am Mac arbeiten, da werden Zeilenumbrüche ja mit /n und nicht wie bei Windows mit /r/n gemacht (Wenn ich das jetzt noch richtig in Erinnerung habe)

Notlösung: Quellcode in Notepad++ kopieren und daraus wieder Copy/Paste machen. Zumindest hatte ich mit dem Notepad++ noch nie Probleme. Allerdings habe ich auch keine Tabs, sondern lasse die mit Leerzeichen auffüllen.

Naja, Notlösung werde ich keine benutzen - denn wenn man sich schon html.de nennt, sollte man so etwas schon noch auf die Reihe bekommen. Aber gut, ich akzeptiere mal als Entschuldigung dass hier sowieso 0 Aktivität von Seiten der Betreiber bzw Moderatoren herrscht und es deshalb wahrscheinlich noch nicht mal aufgefallen ist, dass jeder zweite Code-Post wie Spaghetti aussieht. (threadi jetzt mal außen vorgelassen)
 
Zuletzt bearbeitet:
Ist halt ein extrem schwer zu debuggendes Thema. Die Kombinationen von Editoren und Betriebssystemen und Browsern sind recht vielfältig und alle verhalten sich etwas anders. Der Editor hier ist der Standardeditor der Forensoftware und wir können an dem auch nur begrenzt was ändern.

Ich schau einmal ob ich das zumindestens auf meinem Mac reproduzieren kann.

Grüße,

Carsten
 
Ich schau einmal ob ich das zumindestens auf meinem Mac reproduzieren kann.

Das hier ist aus TitaniumStudio (dem Nachfolger von Aptana) auf einem Mac mit Chrome per Copy & Paste in ein HTML-Code Tag eingefügt. Die Tabs werden offenbar korrekt übernommen.

Nur so ein Beispiel für eine Nicht-Reproduzierbarkeit des von Dir genannten Problems. Beschreibe doch einmal genau welche Schritte du durchführst und wie Deine Umgebung aussieht.

HTML:
//bootstrap and check dependenciesif (Ti.version < 2.0 ) {
    alert('Sorry - this application template requires Titanium Mobile SDK 2.0 or later');
}


// This is a single context application with mutliple windows in a stack
(function() {
    //determine platform and form factor and render approproate components
    var osname = Ti.Platform.osname,
        version = Ti.Platform.version,
        height = Ti.Platform.displayCaps.platformHeight,
        width = Ti.Platform.displayCaps.platformWidth;
 
Werbung:
Das hier ist copy & paste aus Eclipse Juno (MAC) mit erweitertem Board-Editor. TAB auf 2 Leerzeichen eingestellt.

Code:
[COLOR=#3933FF][FONT=Monaco][COLOR=#000000]$([/COLOR]'.container'[COLOR=#000000]).on([/COLOR]'click'[COLOR=#000000], [/COLOR][COLOR=#931a68]function[/COLOR][COLOR=#000000]() {[/COLOR][/FONT][/COLOR]
[FONT=Monaco]    [COLOR=#931a68]var[/COLOR] box = $([COLOR=#931a68]this[/COLOR]).find([COLOR=#3933ff]':checkbox'[/COLOR]);[/FONT]
[FONT=Monaco]    [COLOR=#931a68]var[/COLOR] value = box.is([COLOR=#3933ff]':checked'[/COLOR]) ? [COLOR=#931a68]false[/COLOR] : [COLOR=#931a68]true[/COLOR];[/FONT]
[FONT=Monaco]    box.prop([COLOR=#3933ff]'checked'[/COLOR], value);[/FONT]
[FONT=Monaco]});[/FONT]

Geht halbwegs, hast du irgendwas verändert? Wobei die Zeile box.prop() eigentlich genau unter var beginnen sollte (wird auch in der Vorschau richtig angezeigt).
 
Und hier das selbe mit einfachem Board-Editor:

Code:
$('.container').on('click', function() {
    var box = $(this).find(':checkbox');
    var value = box.is(':checked') ? false : true;
    box.prop('checked', value);
});
 
PSPad:
PHP:
if (mysqli_connect_errno() != 0) {
  echo "<p>Fehler beim Verbinden zur Datenbank. Termine können zur Zeit nicht angezeigt werden.</p>\n";
}
Ist da was gemacht worden, in der Zwischenzeit? Jetzt sieht es ja super aus, genauso wie bei mir im Editor
 
Werbung:
Direkt aus Eclipse Juno unter Ubuntu 12.04:
PHP:
    public function doAction()    {        $sAction = $this->_objApi->getRequest()->getString('action');        if (false !== $sAction) {            $sAction = $sAction.'Action';            if (method_exists($this, $sAction)) {                $this->$sAction();            } else {                $this->_objResponse->printError(101);            }        }    }

Aus Gedit (einfacher Texteditor) unter Ubuntu 12.04:
PHP:
    private function checknameAction()    {        if (false !== $this->_objApi->getRequest()->getString('name')) {            $this->_objResponse->printJSON(                    Core_Api_Tools::isRegistered($this->_objApi->getRequest()->getString('name'))            );        } else {            $this->_objResponse->printError(202);        }    }

Edit:
Wurde beides vom erweiterten Editor zerhackstückelt *grml*
 
Test mit dem Standart-Editor des Bords:
PHP:
	public function doAction()
	{
		$sAction = $this->_objApi->getRequest()->getString('action');
		if (false !== $sAction) {
			$sAction = $sAction.'Action';
			if (method_exists($this, $sAction)) {
				$this->$sAction();
			} else {
				$this->_objResponse->printError(101);
			}
		}
	}

Also ich kann das Problem hier eindeutig auf den WYSIWYG-Editor eingrenzen. Der verhunzt den einkopierten Code total.

Frage: Muss denn der WYSIWYG-Editor die Default-Einstellung für Accounts sein?
Ich würde als Default-Einstellung den Standart-Editor vorgeben. So hat man die Buttons für Textformatierungen und keine Probleme mit Einrückungen und Zeilenumbrüchen bei einkopierten Code-Stücken.

Wer unbedingt sehen will wie seine Beiträge beim posten aussehen, kann ja die Vorschau-Funktion wählen.
 
Ist da was gemacht worden, in der Zwischenzeit? Jetzt sieht es ja super aus, genauso wie bei mir im Editor

Ehrlich gesagt nix bewusstes ;) Ich habe heute einmal versucht ckeditor unabhängig (von vBulletin) zu aktualisieren, aber das ist nicht so einfach.
 
Werbung:
Also ich kann das Problem hier eindeutig auf den WYSIWYG-Editor eingrenzen. Der verhunzt den einkopierten Code total.

Frage: Muss denn der WYSIWYG-Editor die Default-Einstellung für Accounts sein?
Ich würde als Default-Einstellung den Standart-Editor vorgeben. So hat man die Buttons für Textformatierungen und keine Probleme mit Einrückungen und Zeilenumbrüchen bei einkopierten Code-Stücken.

Nur, damit wir über das gleiche sprechen: Der WYSIWYG-Editor stellt doch die Code-Teile gar nicht als WYSIWYG dar? Bei mir erscheint dann einfach ein
Code:
 oder [HTML] Tag, was aber nicht dem späteren Rendering entspricht. Oder meinst Du einen anderen Editor? (Und bei meinem Test funktioniert der WYSIWYG auch korrekt unter MacOS)

Jeder User kann natürlich selber den Editor umstellen. Eine Default-Einstellung würde dann nur neue Accounts betreffen. Warum wäre das aus Deiner Sicht sinnvoll?

Grüße,

Carsten
 
Ist halt ein extrem schwer zu debuggendes Thema. Die Kombinationen von Editoren und Betriebssystemen und Browsern sind recht vielfältig und alle verhalten sich etwas anders.

Ich leide mit dir :( Hab seit Wochen z.B. beim typo3 RTE ein Problem beim Einfügen von Texten aus MS Word. Grauenhaft. Mit tinyMCE geht es auch nicht mal richtig. Selbst wenn man die Editoren nach Anleitung der Programmierer konfiguriert.

Das Problem ist eben:
Wenn man irgendwo einen Text als String hat baut das bearbeitende Programm dort Zeichen ein die man nur mittels hexeditor sehen könnte. Andere Editoren müssen nun versuchen diese unsichtbaren Zeichen zu interpretieren, was jedoch angesichts der Vielfalt an Programmen und ständigen Weiterentwicklungen ohne einheitlichen Standard für derartige Aufgaben nahezu keinen Erfolg hat.

Bei einigen meiner Projekte habe ich solche Editoren bereits komplett deaktiviert, nutze also ein reines textarea und Anleitungen geschrieben wie die Redakteure per Platzhalter Texte formatieren könnten (parallel dazu noch eine schicke Live-Ansicht von dem was sie eingeben).

Im Forum hier hilft mir immer die Verwendung des Icons "zum Standard-Editor wechseln" oben links bei den Symbolen. Sobald ich das deaktivieren kann ich in meinen Fällen eigentlich jeglichen Quellcode hier rein kopieren und er wird korrekt ausgegeben. Den Tipp hatte ich schon in einem anderen Topic dazu genannt, ging aber etwas unter ;)
 
Ich weiß nicht, ob es mit dem Board oder mit meinem Wechsel von Windows zu OSX zusammenhing, aber seit einigen Monaten war es für mich unmöglich, hier korrekt formatierten Code einzufügen. Selbst mit TextWrangler (MAC Pendant zu Notepad++) hatte es nicht funktioniert.

So wie Carsten es jetzt angepasst / upgedatet hat, bin ich zufrieden, und den erweiterten Editor brauche ich nicht wirklich.
 
Werbung:
Nur, damit wir über das gleiche sprechen: Der WYSIWYG-Editor stellt doch die Code-Teile gar nicht als WYSIWYG dar? Bei mir erscheint dann einfach ein
Code:
 oder [HTML] Tag, was aber nicht dem späteren Rendering entspricht.[/QUOTE]
Das ist korrekt! Dennoch scheint hier das Problem zu bestehen, das beim Abschicken des Postings (oder auch dem Benutzen der Vorschau-Funktion) der WYSIWYG die Zeilenumbrüche und Einrückungen nicht korrekt übernimmt und daraus sog. "Spaghetti-Code" macht.

[quote="carstenb, post: 339456"]Oder meinst Du einen anderen Editor? (Und bei meinem Test funktioniert der WYSIWYG auch korrekt unter MacOS)[/QUOTE]
Nein ich meine schon des WYSIWYG. Unter Ubuntu 12.04 zerschiesst der WYSIWYG die Zeilenumbrüche und EInrückungen.

[quote="carstenb, post: 339456"]Jeder User kann natürlich selber den Editor umstellen. Eine Default-Einstellung würde dann nur neue Accounts betreffen. Warum wäre das aus Deiner Sicht sinnvoll?[/QUOTE]

Wie schon gesagt, treten die Probleme mit Einrückungen und Zeilenumbrüchen, welche verhaut werden nur auf, wenn der WYSIWYG (Erweiterter)-Editor genutzt wird (der ja hier als Default gesetzt ist). Habe gestern einfach mal in meinem Account umgestellt auf den "Standard-Editor" (sprich der einfache Editor mit zusätzlichen Schaltflächen) und siehe da, es gibt keine Probleme mehr mit Zeilenumbrüchen und Einrückungen!

OK, die User mit bestehenden Accounts müssten dann halt im Kontrollzentrum die Einstellung für ihren bevorzugten Board-Editor selbst umstellen. User, welche sich neue Accounts anlegen, hätten dann allerdings von Haus aus keine Probleme beim Einkopieren von Code in den Board-Editor, wenn hier als Default der "Standard-Editor" vorgegeben wäre.
 
Das ist korrekt! Dennoch scheint hier das Problem zu bestehen, das beim Abschicken des Postings (oder auch dem Benutzen der Vorschau-Funktion) der WYSIWYG die Zeilenumbrüche und Einrückungen nicht korrekt übernimmt und daraus sog. "Spaghetti-Code" macht.

Und wenn Du den Code per Paste eingefügt hast, dann erscheint er mit Zeilenumbrüchen im Editor? D.h. die Zeilenumbrüche gehen erst nach dem Absenden verloren? Oder erscheint er dort auch ohne Umbrüche?

Welches OS, Browser und woher kopierst Du?

Danke,

Carsten
 
Jepp genauso ist es.

Beim Copy&Paste erscheint der kopierte Code im WYSIWYG-Editor noch korrekt, zerschossen wird er erst beim Nutzen der Vorschau-Funktion, bzw. beim Abschicken des Postings.

Meine Daten:
OS: Ubuntu 12.04 (64bit)
Browser: Google Chrome (Version: 26.0.1410.63)

Kopieren aus:
Eclipse Juno, Gedit, Konsole
 
Werbung:
HTML:
<body><div class="section">  <h1 class="one">Ouh oh.</h1>  <p class="two">Sorry. The page you're looking for is not available (aka. 404).  <p class="three"><a href="//link" class="link">Take me back</a></p></div></body>

Editor: Adobe Dreamweaver CS5.5

HTML:
<body><div class="section">  <h1 class="one">Ouh oh.</h1>  <p class="two">Sorry. The page you're looking for is not available (aka. 404).  <p class="three"><a href="//link" class="link">Take me back</a></p></div></body>

Editor: Panic Coda

Betriebssystem in beiden Fällen: Mac OS X 10.8.3

Ausgabe:
Bildschirmfoto%202013-05-09%20um%2015.44.34.png
 
Interessant:

Copy & Paste aus Coda heraus:

HTML:
$count = 0;for ($i=0; $i<$nr; $i++){  $row = mysql_fetch_assoc($res);  if ($open==0)  {    echo "<div class='row' style='margin-bottom:15px;'>";    $open = 1;  }


Copy & Paste aus Titanium heraus:

HTML:
$count = 0;for ($i=0; $i<$nr; $i++)
{
  $row = mysql_fetch_assoc($res);
  if ($open==0)
  {
    echo "<div class='row' style='margin-bottom:15px;'>";
    $open = 1;
  }

Das ist also kein generelles Thema, sondern hängt von der Quelle des Textes ab. Da stellt sich natürlich die Frage wie sich das Pasten von Coda von dem von Titanium unterscheidet. Muss ich mir nochmal genauer anschauen.
 
Zurück
Oben