1

我目前正在制作一个轻量级的 c#,vb ide,有谁知道我如何使用 roslyn 在 fastcoloredtextbox 中进行 c#、vb 代码完成和 c#、vb 代码修复?问题:如何从 fctb 文本中动态获取语法错误,以及如何使用 roslyn api 获得解决 fctb 中此语法错误的方法?

我已经学会了如何使用 roslyn 获取完成列表,但是如何获取语法错误?我还需要动态获取所有内容(例如在用户输入代码后立即在 fctb 中向用户显示代码完成和语法错误)你可以看到代码在这里从代码中的位置获取完成列表

        public async Task Completions(string projName,string docName,int position)
        {
            var document = GetDocument(projName, docName);
            var completionService = CompletionService.GetService(document);
            CompletionList results = await completionService.GetCompletionsAsync(document, position);

            List<VNetCompletion> completions = new List<VNetCompletion>();
            foreach (CompletionItem result in results.Items)
            {
                completions.Add(VNetCompletion.fromResult(result));
            }
            last_completions = completions.ToArray();
        }
4

0 回答 0