ScintillaNET vs AvalonEdit für die Bereitstellung von scripting-Schnittstelle für eine WPF-Anwendung
Arbeite ich an einem Projekt, das beinhaltet die Implementierung einer scripting-Schnittstelle für mein WPF (.Net4) windows-Anwendung. Ich bin gespannt, ob jemand vorschlagen kann, eine bevorzugte editor, AvalonEdit vs ScintillaNET. Irgendwelche Fallstricke und Vorteile des einen über den anderen. Wir brauchen, um Unterstützung für C# und IronPython als scripting-Sprachen. (Das ist zumindest der ursprüngliche plan. Könnten wir abschließen, die auf eine von es aber).
Einer der Nachteile des ScintillaNET ist, dass es nur ein managed wrapper um die native (unmanaged) Scintilla. Das wird dazu führen, keine Probleme beim Einsatz mit WPF4.
Alle Hinweise und Vorschläge werden geschätzt.
- Bhuvan, was hast du dich letztendlich? (nun, fast 2 Jahre später)
- Ich habe nicht verwendet, entweder als eine Komponente in meinem source-code, aber ich habe zwei Produkte basierend auf jeder (
QuickSharp
basierend aufScintillaNET
undSharpDevelop
basierend aufAvalonEdit
) als alternative eine leichte C# - editor. ImoSharpDevelop
war besser strukturiert und viel einfacher, mit zu arbeiten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, das hängt davon ab, wie viele Funktionen, die Sie implementieren möchten, in den editor. Auch, wie viel Arbeit Sie bereit sind, in Sie zu verlängern und wie viel von einer Lernkurve, die Sie bereit sind, zu beschäftigen.
Wenn Sie gezielt Win32 und Sie nichts dagegen haben, die nicht verwaltete dll, dann denke ich, Scintilla.NET wird nicht ein problem sein. Auch können Sie leicht als host in WPF als diese Seite schlägt.
Persönlich fühlte ich, dass Scintilla besser abschneidet als der AvalonEdit. Es ist auch leichter zu bekommen begann mit einer basic-editor, und bietet eine Menge out of the box, zum Beispiel Scintilla bietet code-folding out of the box.
Mit AvalonEdit Sie haben, um eine Faltung Strategie und parse das Dokument selbst, Das ist, was ich tun musste, um zu unterstützen, IronPython für AvalonEdit, die habe ich noch nicht implementiert.
Alles, was ich brauchte, um ein IronPython-editor scintilla war die SciLexer.dll in der Suche Weg und die Scintilla.net die Montage und die folgenden Konfiguration:
Für AvalonEdit Sie zum laden einer externen highlighter-Datei, können Sie sehen, die diese blog-post für weitere Informationen. Also, wenn Sie wollen, dass die Grundlagen (highlighting, folding für python+c#) mein Fazit ist schintilla ist einfacher und besser. Obwohl mit AvalonEdit Sie könnten in der Lage sein, mehr zu tun, am Ende, wenn Sie bereit sind, in der Mühe und befassen sich mit der Lernkurve. Im moment bin ich mit dem Bausatz Scintilla, wie mein stabil-editor und am Experimentieren mit Avalon als proof-of-concept. Vielleicht werde ich neue Meinungen auch, wie ich erfahren Sie mehr über den editor.
Glück