Как использовать vscode CompletionItemProvider путем связывания клавиш - PullRequest
0 голосов
/ 28 января 2020

Я пытался написать расширение для vscode, чтобы помочь мне импортировать lib с помощью сочетаний клавиш. Я перепробовал много вещей, но два вопроса остались без ответа

1.Как использовать CompletionItemProvider с помощью сочетания клавиш

Обычно CompletionItemProvider запускается символом, но я хочу иметь возможность использовать ярлык для привязки команд. В действительности, я мог бы нажать ярлык для непосредственного отображения элементов CompletionIt. Но единственное, что я знаю до сих пор это делается через vscode.com command.excute («предложить Trugger»), который может быть загроможден другими CompletionItems

2.Как скрыть другие CompletionItems

Когда вызвать CompletionItemProvider, появятся другие параметры. Они должны быть из других расширений. Что я должен сделать, чтобы отобразить только мои собственные варианты расширения

код:

export function activate(context: vscode.ExtensionContext) {
    const provider = vscode.languages.registerCompletionItemProvider({
        scheme:"file",
        language:"typescript"
    }, {
        provideCompletionItems(doc, pos) {
            return [
                new vscode.CompletionItem("1.foo"),
                new vscode.CompletionItem("2.bar"),
                new vscode.CompletionItem("3.baz")
            ]
        }
    })

    context.subscriptions.push(provider);
}

результат: из красного В поле ненужны опции

enter image description here

...