2009-06-28 2 views
2

Я интегрировал ICSharpCode.TextEditor в VB.NET, и он работает без ошибок. Но я не могу найти в окне свойств свойство для включения или выбора функций подсветки синтаксиса, а также intellisense. У меня нет опыта работы с ICSTE, поэтому, пожалуйста, помогите мне. Спасибо вам.Использование ICSharpCode.TextEditor на VB.NET

ответ

2

Вот код из моего проекта

//Initialize HM 
HighlightingManager.Manager.AddSyntaxModeFileProvider(new FileSyntaxModeProvider(AppDomain.CurrentDomain.BaseDirectory)); 

//Setup current Highlighter 

IHighlightingStrategy highlighter = HighlightingManager.Manager.FindHighlighter("SQL"); 
txtQuery.Document.HighlightingStrategy = highlighter; 

Убедитесь, что файл существует в SQL.xshd AppDomain.CurrentDomain.BaseDirectory

Что касается entellisense вы должны реализовать его в основном самостоятельно, используя этот код

private void ShowCompletionWindow(ICompletionDataProvider completionDataProvider, char ch) 
     { 

      try 
      { 
       codeCompletionWindow = CodeCompletionWindow.ShowCompletionWindow(
        this, 
        codeEditorControl, 
        "<code>", 
        completionDataProvider, 
        ch); 
       if (codeCompletionWindow != null) 
       { 
        codeCompletionWindow.Closed += delegate 
                { 
                 _blockKeys = false; 
                }; 

       } 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine(e.Message); 
      } 
     } 
0

Посмотрите этот проект на github: ICSharpCode.TextEditorEx и nuget: ICSharpCode.TextEditorEx

Эта версия предоставляет свойство СинтаксисHighlighting, который вы можете использовать в режиме дизайнера, чтобы установить подсветку синтаксиса.