在 visual studio 代码中缩进 OCaml 代码

Indenting OCaml code in visual studio code

这里有几个关于在 visual studio 代码 (), and on indenting OCaml code (How to indent existing OCaml code) 中缩进代码的问题,但是 none 的答案适用于在 visual studio 代码中缩进 OCaml 代码。 我已经使用 opam 安装了 OCaml 平台 visual studio 代码扩展 vscode-ocaml-format(在 https://dev.realworldocaml.org/install.html), ocaml-lsp-server (following https://ocaml.org/learn/tutorials/up_and_running.html 之后),更新和升级了所有内容,使用了 eval $(opam env),但这仍然有效不行。我有点不知所措...

很难回答此类问题,因为我们需要您提供更多调试信息。另一方面,很难从 vscode 获得它,因此最好从头开始引导您完成整个过程,看看哪里可能出错。我建议您遵循该过程以便于调试。一切正常后,您可以根据您的特定设置对其进行调整。

  1. 创建一个新文件夹并将一些 OCaml 文件放入其中,我们将其命名为 test.ml 然后将以下代码放入其中,
let test = [
  "hello"
]
  1. 现在创建一个新的本地 opam 开关,通过在与 test.ml 文件相同的文件夹中发出以下命令,(注意命令末尾的点,它是必需的,它将创建一个本地交换机)
opam switch create .
  1. 接下来安装所需的依赖项。
opam install ocamlformat ocamlformat-rpc ocaml-lsp-server
  1. 在与 test.ml 文件相同的文件夹中创建 .ocamlformat 文件。它会告诉 ocamlformat 你想要 ocamlformatted,你可以使用这个文件来设置你的首选项。

  2. 确保 installed ocamlplatform 用于 vscode

  3. 现在我们可以开始测试了。启动 vscode 并打开 test.ml。它会要求您 select 沙盒。 Select你放test.ml的文件夹对应的sandbox(应该标记为local和文件夹名同名,会有完整路径,所以您很容易找到它)。应突出显示代码语法,并且不应有来自 vscode 的错误消息。最后,点击 Ctrl-Shift-I 到 re-indent 你的文件,它应该将你的代码转换为,

let test = [ "hello" ]