如何在RoslynPad wpf编辑器控件中设置代码完成?

l2osamch  于 2023-03-04  发布在  其他
关注(0)|答案(1)|浏览(240)

我是一个初级程序员,尝试用RoslynPad创建一个C#代码编辑器。我已经将编辑器控件添加到我的WPF窗口中,突出显示也可以工作。我还想启用代码完成。如果有人能为我指出正确的方向,告诉我如何去做,我将不胜感激。
这是我现在拥有的;

{
    var roslynEditor = new CodeTextEditor();
    var roslynHost = new RoslynHost(additionalAssemblies: new[]
    {
        Assembly.Load("RoslynPad.Roslyn.Windows"),
        Assembly.Load("RoslynPad.Editor.Windows"),
    });
    roslynEditor.SyntaxHighlighting = HighlightingManager.Instance.GetDefinition("C#");

}

从我所能收集到的一些资源来看,我相信启用代码完成与为项目创建一个Roslyn文档和语法树并使用它来创建一个完成服务有关。请告诉我这样做的步骤以及如何将我自己的程序集添加到代码完成中。RoslynHost构造函数中的“additionalAssemblies”参数与此有关吗?

jmo0nnb3

jmo0nnb31#

我相信我有
就这样做了;

var roslynEditor = new RoslynCodeEditor();               
 var workingDirectory = Directory.GetCurrentDirectory();
 var roslynHost = new RoslynHost(additionalAssemblies: new[]
    {
       Assembly.Load("RoslynPad.Roslyn.Windows"),
       Assembly.Load("RoslynPad.Editor.Windows"),
    },
    references: 
    RoslynHostReferences.NamespaceDefault.With(typeNamespaceImports: 
    new[] { typeof(object), typeof(myassemblyType) }));
            

 roslynEditor.Initialize(roslynHost, new ClassificationHighlightColors(), workingDirectory, "");
 roslynEditor.SyntaxHighlighting =    
 HighlightingManager.Instance.GetDefinition("C#");

相关问题