Как включить встроенный язык intellisense и автозаполнение в vscode? - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть случай использования языка X, внутри которого я поддерживаю HTML. Поскольку в VScode я связываю расширение файла как '.x', я не получаю предложения по автозаполнению и атрибутам для моего HTML внутри X. Как это можно решить.

Подходы, которые я пробовал ,

  • Создано расширение для языка X. В этом расширении я взял vscode.html и активировал его в методе активации.
const htmlPluginId = 'vscode.html';

export const activate = () => {
  const htmlPlugin = vscode.extensions.getExtension(htmlPluginId);
  const ht = await htmlPlugin.activate();
}

Это не так т работа. Я предполагаю, что нет никакой связи для запуска плагина HTML для языка X.

  • Создан языковой сервер и клиент, где я использовал языковую службу HTML для выполнения завершения и других задач. Это работает. Но я чувствую, что повторяю то, что уже есть в vscode-html-languageserver.
import {getLanguageService} from 'vscode-html-languageservice';

let connection = createConnection();

let documents = new TextDocuments(TextDocument);
const htmlLanguageService = getLanguageService();

connection.onCompletion((textDocumentPosition) => {
  const document = documents.get(textDocumentPosition.textDocument.uri);
  const htmlDocument = htmlLanguageService.parseHTMLDocument(document!);
  if (htmlDocument.roots.length > 0) {
    return htmlLanguageService.doComplete(
        document!, textDocumentPosition.position, htmlDocument);
  }
});

documents.listen(connection);
connection.listen();

Я хочу знать, есть ли другой простой подход, где я могу использовать HTML и его функции VSCode на моем языке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...