2010-01-10 13 views
8

Ich benutze Komodo Edit 5.2 für die Bearbeitung von HTML und Django Template-Dateien. Im ersten {% block%} - Bereich des ersten Tags meiner Vorlage wird immer ein einzelner Syntaxfehler angezeigt.Komodo Edit 5.2 Django Vorlage Syntax Fehler - Info: <head> zuvor erwähnt

Zum Beispiel:

{% extends "base.html" %} 
{% load i18n %} 

{% block title %}Hello{% endblock %} 

{% block content %} 
    <p>Hello</p> <-- Syntax error on this single line 
    <p>Other lines have no errors</p> 
{% endblock %} 

{% block footer %} 
    <p>No errors here</p> 
{% endblock %} 

Die Syntaxfehler gegeben sind:

Info: <head> previously mentioned 

Ich weiß für eine Tatsache, dass der Fehler nichts mit meinem <head> Tag zu tun hat, da es in der Basisvorlage auftritt und in untergeordneten Vorlagen (und die IDE ist nicht schlau genug, um die Basisvorlagen in einem Kind usw. zu verarbeiten). Alle meine HTML-Tags werden ordnungsgemäß geschlossen und alles wird für XHTML-strict validiert.

Diese forum post erwähnt ein ähnliches Problem, bietet aber keine Lösung (und kann spezifisch für Smarty-Syntaxhervorhebung sein).

Haben Sie Ideen, wie Sie diesen Fehler beheben können (oder deaktivieren, dass er angezeigt wird)?

Antwort

6

Ja, das kann behoben werden, aber es ist wirklich ziemlich hässlich eine Methode.

Ich möchte darauf hinweisen, das ist ein Fehler, der 77251 im Tracker # ist (bearbeiten: dies in Komodo 6.1.0 festgelegt ist). Sie könnten diesen Fehler beobachten, wenn er behoben wird.

Zum Anhalten der roten Linien Squiggly - Sie können dies tun, indem Sie die Python-Sprachdatei für Django Vorlage HTML manuell bearbeiten. Die Datei, die Sie bearbeiten möchten, lautet koDjango_URL_Language.py und kann in ..ActiveState Komodo Edit 5\lib\mozilla\extensions\[email protected]\components gefunden werden.

Fügen Sie die folgende Überschreibung Methode class KoDjangoLanguage:

def get_linter(self): 
    return None 

Beachten Sie, dass dies voraus, dass Sie Ihre django Template-Dateien als .django.html speichern (die auf einer Seite beachten, wenn Sie nicht haben, tun Vorlage so bietet -tag Syntax-Färbung, die ein bisschen nett ist). Nach dem Bearbeiten der Datei, speichern und laden Sie Komodo neu und das Problem sollte verschwinden.

Von dem, was ich verstehe, muss diese Datei neu bearbeitet werden, wenn Sie auch Versionen von Komodo aktualisieren. Hoffentlich werden wir früher oder später sehen, dass das ganze Problem behoben wird und die Unterstützung für Django in allen beliebten IDEs verbessert wird.

+0

Danke für Ihre Hilfe. Und ich schätze den Tipp zum Speichern von Vorlagen als .django.html, um die zusätzliche Syntax-Hervorhebung zu erhalten! –

+0

'Get_linter' scheint nicht in 5.2 auf ubuntu – mpen

0

Ich deaktiviere immer die HTML-Fehlerprüfung bei der Bearbeitung von Django-Vorlagen, da sie nicht vollständig gültiges HTML sind, wie Sie vielleicht erkannt haben. Ich bin nicht sicher, ob das für Komodo Edit gemacht werden kann, aber ich weiß, dass es für die Komodo IDE gemacht werden kann, also könnte man annehmen, dass sie in dieser Hinsicht ähnlich sind. Wie auch immer, so ist die Lösung ein wenig nervig, fürchte ich; Sie müssen es für jede Datei, die Sie bearbeiten, deaktivieren (ich weiß nicht, wie man das global macht) ...

Ich bin gerade nicht auf meinem PC, aber wenn mir der Speicher hilft, gibt es einen Symbol am unteren Rand des Fensterrahmens, mit dem Sie mit der rechten Maustaste klicken, um Eigenschaften zu bearbeiten. Dort tief vergraben sollte eine Option zum Deaktivieren der HTML-Syntaxprüfung vorhanden sein.

Wenn Sie die Option nicht finden, lassen Sie es mich wissen und ich werde versuchen, die Lücken zu füllen.

+0

Ich war nicht wirklich mit der HTML-Validierung beschäftigt, aber mit einer kleinen roten Zickzack Linie auf jeder Vorlage zu zeigen wurde nervig. Vielen Dank für Ihre Eingabe - glücklicherweise wusste T. Stone, wie Sie die Syntaxprüfung global deaktivieren können. –

+0

Aha, ich bin froh, dass ich auf diesen Thread gestoßen bin; Es nervt mich schon seit einer Weile. –

2

Wenn Sie hauptsächlich an Django-Projekten arbeiten, können Sie die Standardbehandlung von * durch Komodo ändern.HTML-Dateien durch Bearbeiten von Voreinstellungen> Dateizuordnungen und Ändern der Zuordnung für * .html zu "Django" (z. B. wie gewöhnlich für * .django.html). Dies erspart Ihnen das Umbenennen aller Ihrer Vorlagendateien.

Um die verschnörkelte rote Linie loszuwerden, verwende ich eine benutzerdefinierte Tidy-Konfigurationsdatei, die unter Einstellungen> Sprachen> HTML in der Konfigurationsdatei-Auswahl angegeben werden kann. Der Inhalt dieser Datei sind einfach:

Show-Warnungen: n

Es ist ein bisschen wie ein Hack, da es zu legitimen HTML Warnungen unterdrückt werden. Bis Komodo/Tidy nativ die Django Template Tags unterstützt, funktioniert es für mich.

2

Wenn Sie nach einer Möglichkeit suchen, die verschnörkelten Linien zu verstecken, anstatt sich an der HTML Tidy-Konfiguration zu versuchen, versuchen Sie Folgendes. Wählen Sie unter Voreinstellungen> Schriftarten und Farben die Registerkarte 'Indikatoren'. In der Indikatorauswahl befindet sich ein Eintrag namens 'Linter error'. Weisen Sie ihm den Stil "versteckt" zu, und die verschnörkelten Linien werden ausgeblendet. In der Statuszeile werden weiterhin die Informationen zum Hintergrund angezeigt. Dies wird auf Komodo Edit 5.2.4 unter Linux getestet.

+0

auch auf Windows –

1

Wie beim Umbenennen Ihrer Vorlagen-Dateien in * .django.html und die Verwendung generischer Ansichten könnten Sie in TemplateDoesNotExist Ausnahmen laufen, da Django nur nach * _list.html und so weit wie ich besorgt bin.

edit: Außerdem beim Umbenennen aller Vorlagen nicht vergessen, alle {% extends *.html %} zu {% extends *.django.html %} entsprechend umzubenennen.

+0

zu sein Sehr wahr, wenn Sie generische Ansichten verwenden, dann werden Sie mit den vordefinierten Vorlagennamen bleiben wollen. –