Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
Javascript 如何在vscode中启用嵌入式语言intellisense和自动完成?_Javascript_Typescript_Visual Studio Code - Fatal编程技术网

Javascript 如何在vscode中启用嵌入式语言intellisense和自动完成?

Javascript 如何在vscode中启用嵌入式语言intellisense和自动完成?,javascript,typescript,visual-studio-code,Javascript,Typescript,Visual Studio Code,我有一个用例,其中我有一个语言X,其中我支持HTML。因为,我在VScode中将文件扩展名关联为“.x”,所以我没有得到x中HTML的自动完成和属性建议。如何解决这个问题 我尝试过的方法 为语言X创建了一个扩展。在扩展中,我获取了vscode.html,并在activate方法中激活了它 这不管用。我想,在语言X上运行HTML插件是没有关联的 创建了语言服务器和客户端,我在其中使用HTML语言服务执行完成和其他任务。这很有效。但是,我觉得我在重复vscode-html-languagese

我有一个用例,其中我有一个语言X,其中我支持HTML。因为,我在VScode中将文件扩展名关联为“.x”,所以我没有得到x中HTML的自动完成和属性建议。如何解决这个问题

我尝试过的方法

  • 为语言X创建了一个扩展。在扩展中,我获取了
    vscode.html
    ,并在activate方法中激活了它
这不管用。我想,在语言X上运行HTML插件是没有关联的

  • 创建了语言服务器和客户端,我在其中使用HTML语言服务执行完成和其他任务。这很有效。但是,我觉得我在重复
    vscode-html-languageserver
    中已经存在的东西
我想知道是否有另一种简单的方法可以在我的语言中使用HTML及其VSCode特性

const htmlPluginId = 'vscode.html';

export const activate = () => {
  const htmlPlugin = vscode.extensions.getExtension(htmlPluginId);
  const ht = await htmlPlugin.activate();
}
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();