如何在 emacs merlin-mode 中跳转到 .ml(不是 .mli)中的函数定义
How to jump to function definition in .ml (not .mli) in emacs merlin-mode
当我按下 M-.
或 C-c C-l
时,它通常会跳转到 .mli 文件中的函数声明。通常有关联的 .ml 文件,我可以使用 C-c C-a
切换到该文件,但随后,我必须在其中手动搜索此功能的实现。
如果有一种简单的方法可以直接跳转到 .ml 文件中的定义,或者在 .mli 之间切换时以某种方式定位到相应的函数位置 和 .ml?
这是由 merlin-locate-preference
变量控制的,文档中说:
Determine whether locate should in priority look in ml or mli files.
因此,一旦变量设置为 'ml
:
,您将开始实施,如果可用的话
(setq merlin-locate-preference 'ml)
有趣的是,它默认为 'ml
,因此您要么覆盖它,要么 merlin 跳转到 mli,因为它找不到定义。如果你想跳转到另一个项目中的定义,那么将相应的 S
和 B
子句添加到你的 .merlin
文件中。
当我按下 M-.
或 C-c C-l
时,它通常会跳转到 .mli 文件中的函数声明。通常有关联的 .ml 文件,我可以使用 C-c C-a
切换到该文件,但随后,我必须在其中手动搜索此功能的实现。
如果有一种简单的方法可以直接跳转到 .ml 文件中的定义,或者在 .mli 之间切换时以某种方式定位到相应的函数位置 和 .ml?
这是由 merlin-locate-preference
变量控制的,文档中说:
Determine whether locate should in priority look in ml or mli files.
因此,一旦变量设置为 'ml
:
(setq merlin-locate-preference 'ml)
有趣的是,它默认为 'ml
,因此您要么覆盖它,要么 merlin 跳转到 mli,因为它找不到定义。如果你想跳转到另一个项目中的定义,那么将相应的 S
和 B
子句添加到你的 .merlin
文件中。