Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 如何提供具有';低优先级';在VS代码扩展中?_Visual Studio Code_Intellisense_Vscode Extensions - Fatal编程技术网

Visual studio code 如何提供具有';低优先级';在VS代码扩展中?

Visual studio code 如何提供具有';低优先级';在VS代码扩展中?,visual-studio-code,intellisense,vscode-extensions,Visual Studio Code,Intellisense,Vscode Extensions,我有一个VS代码扩展,它为C#提供了完成项。我想让它们只出现在完成选项的底部,在所有其他选项都用尽之后(而不仅仅是按字典顺序) 据我所知,API没有提供这样做的方法(尽管我希望被证明是错误的)。 因此,我想到的一种破解方法是在vscode.CompletionsItem的sortText前面加上~。问题在于,出于某种原因,它仅在将myCompletionItems与其他明确指定了sortText字段值的CompletionItems进行比较时起作用 let completion = {

我有一个VS代码扩展,它为C#提供了完成项。我想让它们只出现在完成选项的底部,在所有其他选项都用尽之后(而不仅仅是按字典顺序)

据我所知,API没有提供这样做的方法(尽管我希望被证明是错误的)。 因此,我想到的一种破解方法是在
vscode.CompletionsItem
sortText
前面加上
~
。问题在于,出于某种原因,它仅在将my
CompletionItem
s与其他明确指定了
sortText
字段值的
CompletionItem
s进行比较时起作用

let completion = {
        label :"Hello World!",
        sortText:~Hello World!"
    }
// That works fine with this one for example:
let explicitCompletion= {
        label :"World!",
        sortText:"World!"
    }
// But will appear before this one, despite having appended '~'
let implicitCompletion= {
        label :"World!",
    }
C#扩展的所有补全都有一个隐式的
sortText
,因此它不起作用

另一种方法是保留
insertText
filterText
但在
标签前面加前缀,这是不完美的

let completion = {
        label :"~Hello World!",
        insertText:Hello World!",
        filterText:Hello World!",
    }
问题是现在有一个恼人的
~
显示在完成的开始

最后,我如何使我的补全出现在默认的C#补全之后,而不在开始时显示奇怪的前缀。(在本例中,“Hello World!”补全将出现在“World!”之后,而不更改“World!”补全。