設定您的編輯器
雖然 toplevel 非常適合互動式地嘗試語言,但我們很快就需要使用編輯器來編寫 OCaml 檔案。我們已經安裝了增強 Merlin 的工具,Merlin 是我們選擇的支援 OCaml 的編輯器。Merlin 提供了諸如「跳到定義」、「顯示型別」和 ocaml-lsp-server
之類的所有功能,這是一個通過 LSP 伺服器將這些功能傳遞給編輯器的伺服器。OCaml 有許多編輯器的外掛程式,但維護最積極的外掛程式適用於 Visual Studio Code、Emacs 和 Vim。
Visual Studio Code
重點:在您的 opam switch 中安裝套件
ocaml-lsp-server
和ocamlformat
。
對於 VSCode,從 Visual Studio Marketplace 安裝 OCaml Platform Visual Studio Code 擴充功能。該擴充功能依賴於 OCaml LSP 和 OCamlFormat。要在您的 switch 中安裝它們,您可以執行
$ 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 命令可用,您可以在 Merlin 官方 Vim 文件上查看它們的用法。
Emacs
- 在 Emacs 編輯器中,將游標放在變數上。
- 使用鍵盤快捷鍵 Alt + x,然後輸入
merlin-type-enclosing
- 型別資訊將顯示在迷你緩衝區中。Emacs 的其他 Merlin 命令可用,您可以在 Merlin 官方 Emacs 文件上查看它們的用法。