我是一名初级程序员,正在尝试使用 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”参数也与此有关吗?
我相信我有它;
就这样做了;
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#");