У меня есть случай использования языка 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 на моем языке.