swift-mode的用法中Code navigation using imenu (built-in)

https://www.spacemacs.org/layers/+lang/swift/README.html

看文档,没有明白 Code navigation using imenu (built-in) ,具体怎么操作的?

尝试执行:M-x swift-menu

提示:command-execute: swift-menu must be bound to an event with parameters

解决方法:

(defun swiftmenu ()
  "显示swift菜单"
  (interactive)
  (x-popup-menu t swift-menu)
  )

(global-set-key [C-down-mouse-1] 'swiftmenu)

https://github.com/swift-emacs/swift-mode/issues/175

Ctrl + 鼠标左键效果:

截屏2021-12-14 上午12.24.07

你需要绑定到鼠标点击上

怎么绑定鼠标点击事件上?

(global-set-key [C-down-mouse-1] #'swift-menu)

之类的,[C-down-mouse-1] 是 control+左键。

但是呢,你会觉得为啥一定要用鼠标,因为 swift-menuimenu 一点关系都没,你应该做的是在 swift-mode 开启的時候 M-x imenu

绑定之后没有效果,control+鼠标左键,跳到了方法声明定义的地方。

swift-menu 是什么功能,和lsp-ui-imenu 有区别吗?

M-x:lsp-ui-imenu,会显示居右的树形导航栏:

上边后半段

swift-menu 和 imenu 啥关系都没有。

按照上述绑定鼠标之后,没有效果。

想了解下,swift-menu 代码导航功能效果什么样?

swift-menu 根本不是代码导航功能。