2

我已将 ICSharpCode.TextEditor 集成到 VB.NET 中,它运行顺利且没有错误。但是,我在属性窗口中找不到启用或选择语法高亮功能以及智能感知的属性。我对 ICSTE 没有任何经验,所以请帮助我。谢谢。

4

2 回答 2

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);
            }
        }
于 2009-07-16T14:27:27.697 回答
0

在 github 上查看这个项目:ICSharpCode.TextEditorEx和 nuget:ICSharpCode.TextEditorEx

此版本公开了一个属性SyntaxHighlighting,您可以在设计器模式下使用它来设置语法突出显示。

于 2014-08-17T07:41:21.833 回答