隐藏Unicode PUA和预处理文本

时间:2018-06-18 14:07:40

标签: visual-studio-code

我想为自己的编程语言编写VS Code扩展和语言服务器。源代码文件是UTF-8,但是该语言包含嵌入在源代码中的元数据,作为Unicode PUA代码点,由用户键入时由语言服务器维护和处理。仅仅告诉VS Code忽略PUA码点是不够的,因为一些元数据包含由PUA码点标记界定的非PUA码点。

我认为语言服务器在打开文件和编辑文件时必须保留两份副本:实际文件内容和编辑器中显示的副本。使用VS Code编辑器可以完成以下哪些事情,还是需要编写自己的WebView?

  1. 当我的某个文件被打开时,我的语言服务器有机会首先处理该文件并返回到VS代码编辑器中的“虚拟”文件。在编辑器窗口中显示给用户的内容。
  2. 当用户输入时,VS Code告诉我的语言服务器键入的代码点和插入点在其虚拟副本中的插入位置,我的语言服务器告诉VS Code在该位置插入的代码点。
  3. 保存文件时,不是编辑器内容保存到磁盘,而是我的语言服务器告诉VS Code保存到磁盘,从而也保留了嵌入的元数据。

0 个答案:

没有答案