完成显示的自定义顺序 - 摩纳哥

Sri*_*lan 2 monaco-editor

我指的是 monaco的完成提供程序示例

我注意到完成是按以下顺序定义的:lodash, express, mkdirp但编辑器中的建议是按字母顺序列出的。

我想自定义这种行为。这可能吗?我看过这个pull request,但无法将其连接起来。

任何帮助表示赞赏!

Sam*_*ler 6

在您链接到的示例中,只需将sortText密钥添加到每个完成项。此值用于确定完成框中项目的顺序。

修改链接示例:

return [
    {
        label: '"lodash"',
        kind: monaco.languages.CompletionItemKind.Function,
        documentation: "The Lodash library exported as Node.js modules.",
        insertText: '"lodash": "*"',
        sortText: 'a'
    },
    {
        label: '"express"',
        kind: monaco.languages.CompletionItemKind.Function,
        documentation: "Fast, unopinionated, minimalist web framework",
        insertText: '"express": "*"',
        sortText: 'b'
    },
    {
        label: '"mkdirp"',
        kind: monaco.languages.CompletionItemKind.Function,
        documentation: "Recursively mkdir, like <code>mkdir -p</code>",
        insertText: '"mkdirp": "*"',
        sortText: 'c'
    }
];
Run Code Online (Sandbox Code Playgroud)

sortText 值 'a'、'b'、'c' 现在决定了建议的顺序。