有时候我们在使用VS Code编辑一个文件时 会看到这样的效果

在上述的图片中,1720行和1721行之间,有一行不属于该文件本身内容的注释。这一效果能够方便开发者快速地理解代码,看到代码的提交人,时间,可能还会有备注。在复制内容时,这部分是不会被复制的。 这一交互的实现,是借助了monaco的代码信息指示器 CodeLens ,而其中的Git信息则是借助了VS code 插件 GitLens。
本篇文章就来解析一下monaco中CodeLens的使用,帮助大家实现一个更加优秀的WEB IDE。
CodeLens的含义是代码信息指示器,是一种能够帮助开发者理解代码,并不存在于文章内容的辅助信息。不同于直接写到文件的代码注释(和之前讲解的Marker来帮助开发者理解代码含义),CodeLens它是不存在于文件内容中的,但它直接显示在编辑器的特定行内。并且在复制文件内容是,它不会被复制。这就是它区别于其他辅助信息,备注信息的特性。它的内容是和Maker一样都是来自于文件外,人为设置或利用插件获取。
CodeLens通常是以一行信息来表现。但它并不是真正的一行。同样它是作用于语言模型的,而不是直接在editor对象上直接添加。
下面就来从它是使用方面和API来对其详细地解析。
要使用codeLens