提问人:bookofproofs 提问时间:11/6/2023 最后编辑:bookofproofs 更新时间:11/6/2023 访问量:26
在 Omnisharp VSSCode 中使用 CompletionItem.InsertText 而不是 CompletionItem.Label 自动完成?
Autocompletion using CompletionItem.InsertText instead of CompletionItem.Label in Omnisharp VSSCode?
问:
我正在尝试使用 nuget 包为具有自动完成服务的 VSCode 编写扩展。我想在用户选择完成项时插入代码片段。OmniSharp.Extensions.LanguageServer
如果我将完成项的属性设置为我的代码段的文本,它就会起作用。但是,我的标签现在在完成列表中看起来很丑陋,因为它们必须包含换行符和制表符。所以我正在寻找另一种解决方案。Label
根据 Vscode CompletionItem
类文档,看起来我需要使用该属性而不是或补充:InsertText
Label
选择此完成时应插入到文档中的字符串或代码段。当伪造时,使用 。
label
问题:
就我而言,即使我将 设置为不是虚假的东西,VSCode 仍然会插入属性的值。InsertText
Label
什么可能导致这种行为?这是 Omnisharp 中的错误,还是有其他我不知道的配置,我必须设置这些配置来强制 VSCode 插入 的值而不是 的值?InsertText
Label
答:
0赞
bookofproofs
11/6/2023
#1
我想通了:我也在使用该物业。它导致 set 属性被忽略。根据文档,是ComplitionItem.TextEdit
ComplitionItem.InsertText
ComplitionItem.TextEdit
deprecated - 改用 and。
CompletionItem.InsertText
CompletionItem.Range
评论