配置您的编辑器
虽然顶层非常适合交互式地尝试语言,但我们很快就会需要在编辑器中编写 OCaml 文件。我们已经安装了增强 Merlin 所需的工具,Merlin 是我们选择的具有 OCaml 支持的编辑器。Merlin 提供了所有功能,例如“跳转到定义”、“显示类型”和 ocaml-lsp-server
,这是一个通过 LSP 服务器向编辑器提供这些功能的服务器。OCaml 针对许多编辑器都有插件,但维护最活跃的是 Visual Studio Code、Emacs 和 Vim。
Visual Studio Code
简而言之,在您的 opam 切换 中安装
ocaml-lsp-server
和ocamlformat
包。
对于 VSCode,从 Visual Studio Marketplace 安装 OCaml Platform Visual Studio Code 扩展。该扩展依赖于 OCaml LSP 和 OCamlFormat。要将它们安装到您的切换中,您可以运行
$ opam install ocaml-lsp-server ocamlformat
首次加载 OCaml 源文件时,系统可能会提示您选择正在使用的工具链。从列表中选择您正在使用的 OCaml 版本,例如 5.1.0
。
您可以使用的编辑器功能
如果您的编辑器设置正确,以下是一些您可以开始利用的重要功能
1) 将鼠标悬停以获取类型信息
这是一个很棒的功能,它允许您查看任何 OCaml 变量或函数的类型信息。您只需将光标放在代码上,它就会显示在工具提示中。
Ctrl + Click
跳转到定义
2) 使用 如果在悬停时按住 Ctrl 键,代码将显示为可点击的链接,如果点击该链接,则会将您带到实现该代码的文件。如果您想了解代码的内部工作原理,这将非常有用。在此示例中,将鼠标悬停在 Queue
模块的 peek
方法上并 Ctrl + Click
将带您到 peek
方法本身的定义以及其实现方式。
Ctrl + Shift + P
执行 OCaml 命令
3) 使用 按 Ctrl + Shift + P 键组合将在顶部打开一个模式对话框。如果您键入 ocaml
,系统将为您提供一个可供使用的各种 OCaml 命令列表,这些命令可用于不同的目的。
Windows 用户
如果您使用的是 DkML 发行版,则需要:1. 转到 文件
> 首选项
> 设置
视图(或按 Ctrl ,
)2. 选择 用户
> 扩展
> OCaml Platform
3. 取消选中 OCaml: Use OCaml Env
。就是这样!
Vim 和 Emacs
对于 Vim 和 Emacs,我们将不使用 LSP 服务器,而是直接与 Merlin 通信。
$ opam install merlin
在上面安装 Merlin 后,将打印有关如何将 Merlin 与您的编辑器链接的说明。如果您没有看到它们,只需运行以下命令
$ opam user-setup install
与 Merlin 通信
获取类型信息
Vim
- 在 Vim 编辑器中,按 Esc 进入命令模式。
- 将光标放在变量上。
- 键入
:MerlinTypeOf
并按 Enter。 - 类型信息将显示在命令栏中。Vim 的其他 Merlin 命令也可使用,您可以在 Vim 的 Merlin 官方文档 上查看它们的用法。
Emacs
- 在 Emacs 编辑器中,将光标放在变量上。
- 使用键盘快捷键 Alt + x,然后是
merlin-type-enclosing
- 类型信息将显示在迷你缓冲区中。Emacs 的其他 Merlin 命令也可使用,您可以在 Emacs 的 Merlin 官方文档 上查看它们的用法。