myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Gemeinschaft » .NET-Komponenten und C#-Snippets » AvalonEditControl (Code Completion / Intellisense für Windows Forms)
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

AvalonEditControl (Code Completion / Intellisense für Windows Forms)

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
dr4g0n76
myCSharp.de-Poweruser/ Experte

avatar-1768.jpg


Dabei seit: 07.07.2005
Beiträge: 2.874
Entwicklungsumgebung: SharpDevelop/VS.NET
Herkunft: Deutschland


dr4g0n76 ist offline

AvalonEditControl (Code Completion / Intellisense für Windows Forms)

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ausgehend von untere anderem diesen Threads

 Eine Art IntelliSense nachbauen

habe ich mich entschlossen SharpDevelop Komponenten zusammenzusetzen und aus dieser eine Control zu machen, mit der Intellisense angezeigt werden kann.

Die Ehre für die Komponente gebührt also nicht mir. Sondern ich setze sie hier lediglich zusammen.

Das einzige was ich gemacht habe ist in AvalonEditControl das Ganze zur Verfügung gestellt.

Es ist erstmal eine "As Is" Version.

Komponente als Windows-Forms Control, die Intellisense zur Verfügung stellt:

In AvalonEdit ist es "relativ einfach" möglich eine CodeCompletion zu implementieren.
Die Mechanismen sind ja vorhanden, damit es aber auch "fliegt", muss(e) man noch einiges tun.

Die Komponente ist so vorbereitet, dass sie auf Windows Forms Projekten benutzt werden kann, auch wenn es eine WPF-Komponente ist, dies funktioniert durch den ElementHost.

Da nur 2 MB Dateigrösse für das anhängen erlaubt ist, habe ich die DLLs in ein extra Verzeichnis ausgelagert.

(Sonst wäre das Archiv knapp 4 MB gross gewesen)

Ich habe hier eine Kurzanleitung zusammengestellt:

1.) Zur Installation (halbautomatisch):

Nach dem Entpacken mit cmd also in das Verzeichnis wechseln, wo ihr die Dateien entpackt habt, dann in den Unterordner DLL navigieren.

Drückt auf Finish.bat.

Damit werden die DLLs in die entsprechenden Ordner kopiert.

2.) Wer es manuell machen möchte:

Schlagwörter: Avalon Edit, Code Completion, Intellisense, WPF, Windows Forms

Diese Anleitung findet sich nochmal als "Readme.txt" im Archiv selbst.

P.S.: Weiteres zur Komponente werde ich in folgenden Posts hier im Thread schreiben.


Dateianhang:
unknown AvalonCodeCompletionControl_Shipping.rar (2 MB, 129 mal heruntergeladen)

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von dr4g0n76 am 17.11.2016 10:09.

11.11.2016 11:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
dr4g0n76
myCSharp.de-Poweruser/ Experte

avatar-1768.jpg


Dabei seit: 07.07.2005
Beiträge: 2.874
Entwicklungsumgebung: SharpDevelop/VS.NET
Herkunft: Deutschland

Themenstarter Thema begonnen von dr4g0n76

dr4g0n76 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hier die Initialisierung:

C#-Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using AvalonCodeCompletion;

namespace AvalonIsHere
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            AvalonCodeCompletionControl avalonEditControl = new AvalonCodeCompletionControl();
            avalonEditControl.LoadCustomHighlightingDefinition();
            avalonEditControl.SelectHighlighting("c#");
            avalonEditControl.OpenFile("Sample1.cs");
            avalonEditControl.AddTo(this);

        }
    }
}

C#-Code:
LoadCustomHighlightingDefinition

lädt die xshd Datei, die im Projekt vorhanden ist (Default Parameter), ihr könnt natürlich jede beliebige Datei mit vollqualifiziertem Namen üebergeben.

C#-Code:
SelectHighlighting("c#")

wählt natürlich - was auch sonst ;-) - c# als Syntax Highlighing aus.

C#-Code:
OpenFile("Sample1.cs")

lädt die entsprechende Klasse.

Und

C#-Code:
AddTo(this)

wird benötigt, um die WPF Komponente zu einer Windows Form Komponente (Control) hinzuzufügen.

dr4g0n76 hat dieses Bild (verkleinerte Version) angehängt:
Intellisense.png
Volle Bildgröße

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von dr4g0n76 am 11.11.2016 11:27.

11.11.2016 11:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 2 Jahre.
Der letzte Beitrag ist älter als 2 Jahre.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 26.05.2019 12:59