如何让语言服务器观看“ Untitled-1”文件的更改?

时间:2018-10-03 11:20:41

标签: visual-studio-code vscode-extensions

我正在创建语言服务器,并观察javascript文件的更改。下面是注册文件类型的代码。

const clientOptions = {
    // Register the server for plain text documents
    documentSelector: [
      { scheme: 'file', language: 'plaintext' },
      { scheme: 'file', language: 'javascript' },
    ],
    synchronize: {
      // Notify the server about file changes to '.clientrc files contain in the workspace
      fileEvents: vscode.workspace.createFileSystemWatcher('**/*')
    }
  };

服务器端的onDidChangeContent不会触发以Untitled-1为标题的文件,该文件是在vscode上临时创建的。我如何收听此文件更改?

1 个答案:

答案 0 :(得分:0)

尝试将untitled方案与file方案一起注册:

const clientOptions = {
    documentSelector: [
      { scheme: 'file', language: 'plaintext' },
      { scheme: 'file', language: 'javascript' },
      { scheme: 'untitled', language: 'plaintext' },
      { scheme: 'untitled', language: 'javascript' },
    ],
    ...
  };

这应该让主机知道将尚未保存到磁盘的新的无标题文件发送给您的服务器。如果要同步所有schemejavascript文件,也可以选择完全省略plaintext