web-dev-qa-db-fra.com

Une zone de texte / zone de texte riche qui a une coloration syntaxique? [C #]

Où puis-je trouver un contrôle pour WinForms qui mettra en évidence le code source collé dedans? Je voudrais un qui a un support de mise en évidence de la syntaxe pour de nombreux langages différents, mais si cela ne fonctionne qu'avec C #, je serais d'accord avec cela aussi.

37
Kredns

Scintilla.NET est probablement ce que vous recherchez

35
Fernando

Récemment, nous avons trouvé un contrôle Nice de codeproject Fast Colored TextBox pour la coloration syntaxique .

Le seul problème avec l'utilisation de Rich Text Box comme surligneur est la lenteur des performances de coloration, dans les cas où la taille du document est grande. Pour les documents de taille moyenne, ce problème peut être résolu par une mise en évidence différée.

14
volody

En tant qu'alternatives Open Source, jetez un œil à:

13
CMS

Ajoutez la référence d'assemblage ICSharpCode.TextEditor à un projet, choisissez Assemblage et contrôles pour Visual Studio Toolbox. Après cela, vous pouvez mettre le contrôle sur le formulaire. Étonnamment, vous ne verrez pas Property to choose syntax highlight schema. Au lieu de cela, vous devez utiliser la méthode SetHighlighting. Ensembles de paramètres de chaîne mettant en évidence le schéma de la liste des schémas disponibles. Ces schémas sont intégrés au contrôle.

Comment utiliser, modifier les schémas et télécharger un exemple, regardez article suivant

9
David Maron

Si vous êtes prêt à payer pour un contrôle, je recommande fortement celui-ci: QWhale Syntax Edit . Il a une tonne de fonctionnalités, est livré avec du code source et prend en charge de nombreuses langues. Je l'utilise moi-même pour C #, VB.NET, SQL (MS et Oracle), et il a tout ce que VS fournit.

5
Mike Hofer

Découvrez le contrôle AvalonEdit. Il y a un bon article sur CodeProject expliquant comment l'utiliser.

4
Dmitri Nesteruk

Je ne sais pas s'il existe une solution non tierce prête à l'emploi.

Mais, avez-vous regardé le composant Actipro SyntaxEditor . LinqPad , l'outil ubercool linq l'utilise pour la coloration syntaxique et l'intellisense.

2
Vin
2
imaximchuk