Letztes Jahr schrieb ich einen Sprachdienst für Visual Studio, der Syntax-Highlighting für NHaml-Dateien hinzufügte: Ссылка .
Um zu verdeutlichen, ist NHaml eine HTML-Vorlagensprache, die Codeelemente wie eine aspx-Datei mischen kann. Dieses Plugin fügt der IDE Unterstützung für die Bearbeitung von NHaml-Dateien hinzu, fügt aber im Grunde nur Syntax-Highlighting hinzu.
Ich habe mich gefragt, ob jemand weiß, wie man inline c # intellisense zum Service hinzufügt, wie man es jetzt in einer aspx-Datei bekommt. Ich hoffe, dass das möglich wäre, ohne die ganze c # Grammatik zu machen, die für das Plugin spezifisch ist.
Hat jemand einen Sprachdienst geschrieben, der Sprachen mischt?
UPDATE: Es sieht so aus, als hätten die Spark-View-Engine-Typen hier einige Fortschritte gemacht. Ich untersuche ihre Implementierung.
Ich habe die Spark-View-Engine überprüft, und sie scheinen einen generischen ATL-Code (SparkLanguagePackageLib) erstellt zu haben, der in der Tat anscheinend nichts Spark-spezifisches enthält. Es scheint nur eine generische C # -Intellisense-Bibliothek zu sein, die Folgendes benötigt:
Und danach können Sie anrufen:
%Vor%Ich habe versucht, Spark-spezifische Sachen in dieser C ++ - Bibliothek zu finden, aber ich konnte nichts finden: alles, was mit Funken zu tun hat, wird in eine separate C # -Codedatei aufgeteilt. Ich denke, das ist gut, weil:
Übrigens. Arbeiten Sie noch an dieser NHaml Intellisense-Bibliothek? Wenn nicht, werde ich versuchen, ihre Implementierung zu patchen, in der Hoffnung, dass sie leicht in NHaml konvertiert werden kann.
Ich habe es endlich geschafft, den Code zu modifizieren, um NHaml zu unterstützen. Es war überhaupt nicht so schwer. Leider unterstützt die ursprüngliche NHaml-Bibliothek nicht alles, was benötigt wurde. Daher musste ich einen neuen Parser für NHaml erstellen. Es unterstützt nicht alle Konstrukte, aber es unterstützt die meisten von ihnen (genug, um NHaml Programmierung zu erleichtern)
Download: Ссылка
Screencast: Ссылка
Sie können Keywords hinzufügen , indem Sie einen Benutzertyp erstellen oder ändern. Datendatei. Sehen Sie sich hier für einige Anweisungen zum Anhängen an bestimmte Dateierweiterungen an. Das könnte Ihnen zumindest einen Teil des Weges bringen, ohne die komplette c # -Syntax zu wiederholen.
(In der Tat bin ich nicht sicher, was Sie in diesem Zusammenhang genau mit "Syntax-Highlighting" meinen. Ich bin mir sicher, dass Sie zum Beispiel im Editor die Klammer-Hervorhebung kostenlos erhalten).
Tags und Links plugins visual-studio intellisense nhaml