微软为 VS Code 推出 Markdown 语言服务器


微软近日发布官方博客表示,他们经过半年时间的努力为 VS Code 带来了 Markdown 语言服务器(Markdown Language Server),团队认为 Markdown 语言服务器是可以推动 VS Code 中的 Markdown 工具进一步发展的项目,有了这个语言服务器,微软将把 VS Code 内置的大部分 Markdown 语言工具(如:文档大纲、智能折叠、路径补全等)提供给其他编辑器和工具。目标是推动 Markdown 工具的发展,并使其具有一些与其他编程语言工具类似的智能功能。

Markdown 语言服务器的工作将由以下两个新的开源库负责(两个库名字十分接近):

  • Markdown 语言服务(Markdown Language Service):一个 TypeScript 库,提供处理 Markdown 的工具;
  • Markdown 语言服务器(Markdown Language Server):一个使用语言服务构建的 Markdown 语言服务器

上述这两个库现在还处于早期阶段,但它们已经被 VS Code 1.70+ 使用了。此次转变还可以将 Markdown 工具转移到一个单独的进程中,这样它就不会阻碍其他扩展。

目前这个 Markdown 语言服务器的功能包括:

  • 文档大纲
  • 文档链接
  • 智能折叠
  • 智能选择
  • 自动补全
  • 重命名
  • 查找所有引用
  • 转到定义
  • 损坏链接的诊断
  • 在文件移动/重命名时,自动更新链接

参与此次开发的开发者 Matt Bierner 表示:

一个开源的 Markdown 语言服务器可以帮助其他的编辑器,反过来也会吸引更多开发者参与贡献,最终反哺 VS Code。Markdown 语言服务器可以把开发人员聚集在一起,在一个更大的项目上工作,最终将使所有人受益,而不是让每个编辑器/工具都在重复实现他们自己的 Markdown 支持。

Matt Bierner 也分享了促成此次开发的心路历程:

多年来,我一直使用 VS Code 相对简单的 Markdown 编辑器。我对语法高亮和内置的 Markdown 预览功能感到满意,而文档大纲和可点击的编辑器链接则是锦上添花的功能。我已经习惯了用手打出链接。我已经接受了这样的事实:如果我改变了一个标题的名称,我就需要做一个文本搜索来更新所有指向该标题的链接。因为我认为 Markdown 只不过是花哨的纯文本。

但是有一天,当我第 100 次输入错误的图片路径后,我终于意识到:这一点都不好玩!我为什么要把我的生命浪费在手动输入图片上?我为什么要浪费我的生命去手动输入和验证这些链接?这就是工具应该发挥的作用。

如果你也想为此做出一些贡献,那么可以点击访问这两个新项目的 GitHub 仓库,提交错误报告、功能请求,甚至是 PR。


相關推薦

2022-10-08

将任务钉在运行任务下拉菜单的顶部,以便快速访问 Markdown 链接验证:自动检查 header、文件和图片链接 在使用 Markdown 时,很容易误加一个无效的文件链接或图片引用。通常你只有在查看 Markdown 预览或发布后才会发现这些

2022-05-06

nlessPressed - 用 Ctrl+Alt 隐藏和显示嵌套提示。 拖放创建 Markdown 链接:将文件拖入编辑器以创建 Markdown 链接。 现在你可以通过将文件从 VS Code 的资源管理器中拖放到 Markdown 编辑器中来快速创建 Markdown 链接。按住 Shift 键,

2022-11-04

版本中,发布了新的 Pylint 和 Flake8 扩展,它们通过语言服务器协议(LSP)与 Python 扩展协同工作,提供提示。在这个版本中,如果你还在使用 Python 扩展中内置的 Pylint 和 Flake8 功能,则会显示一个通知,提示你安装这些新扩展。

2022-06-10

了解有关不断发展的开发容器规范的更多信息。 预览:Markdown 链接验证- 检测到 headers、images 和 files 的损坏链接。 通过链接验证,VS Code 将分析指向 headers、images和其他本地文件的 Markdown 链接。无效链接将报告为警告

2022-06-17

;公布了 VSCode C# 扩展的路线图更新,新的路线图引入语言服务器协议(LSP) 作为 VSCode C# 扩展的基础通信机制,并计划创建一个新的“LSP Tools Host”组件作为新版 C# 扩展的基础,以引入更多实用功能。但微软在公告中称 “LSP Too

2023-10-08

中开发 C# 语言产品的效率。该套件兼容 C# 扩展,由语言服务器协议  (LSP) 主机提供支持,从而创建一个高性能、可扩展且灵活的工具环境,可轻松将新体验集成到 C# for VS Code 中。 经过 4 个多月的测试和打磨,微软近日宣布

2023-06-09

”控件: 外部文件的自动复制 - 拖动或粘贴到 Markdown 将新文件添加到你的工作区。 想在 Markdown 文档中添加图片或视频?与其浪费时间先手动将文件复制到您的工作区,然后添加指向它的链接,现在你只需将文件拖

2023-05-05

内容插入文件的方式。例如,当你把一张图片放到一个 Markdown 文件中后,这个控件可以让你在插入 Markdown 图片、图片的工作区相对路径和图片的完整路径之间切换。 Standalone color picker - 用于插入或修改颜色格式的 Color p

2023-06-08

微软于今天在 Marketplace 上架了一款适用于 Visual Studio Code 的官方 C# 开发套件 —— C# Dev Kit,通过更好地管理、测试,以及提供全新的 AI 功能,为 Linux、macOS 和 Windows 平台的开发者带来了更好的 C# 开发体验。 根据微软官方提

2022-04-06

更新。 这个新的扩展使用了 Language Server Protocol(语言服务器协议)来提供对 linting 处理的支持,并附带最新版本的 pylint(目前是 2.13.4 版本)。 虽然微软发布的这个扩展的名称是 Pylint,并且也附带了最新版本的 pylint,但它

2022-09-02

Markdown Language Server blog- 了解 Markdown 支持如何转移到语言服务器。 更多详情可查看官方公告。

2023-10-22

。 Oracle 的 Java language server 是为 Apache NetBeans 项目开发的服务器的精简版本,基于 OpenJDK JDK 的 javac 编译器(用于代码编辑和编译)和 OpenJDK 的调试器接口(用于调试),使得其可以在新的 JDK 功能推出后立即启用 VS Code 支持。

2023-03-02

的来源分组(例如:Jupyter 内核、Python 环境等)。 Markdown header link 建议 - 轻松链接到整个工作区中文件中的 headers。 需要链接到另一个 Markdown 文档中的 header,但不记得或不想输入完整的文件路径?可尝试使用

2022-12-21

洞。这些 vulncheck 分析工具由 Go 的漏洞数据库和 Go 语言服务器的govulncheck集成支持。 变化 新的 “Go:Toggle Vulncheck” 命令可启用/禁用基于导入的漏洞分析。这需要 gopls v0.11.0 或更新版本。 如果可以确定测试名称,则会向