spacemacs使用semantic跳转代码

本文介绍了在Spacemacs中利用Semantic库进行代码跳转的方法,包括安装semantic layer、跳转到已打开的buffer、设置变量以及解决不能跳入未打开buffer的问题。通过特定快捷键和配置,可以实现从函数调用到定义的快速导航,包括跳入头文件和源代码文件。
摘要由CSDN通过智能技术生成

semantic和CEDIT的关系

semantic是CEDIT的核心,支持语义理解的代码分析。

安装semantic layer

在~/.spacemacs中配置semantic layer名称,然后重启emacs即可


跳转到打开过的buffer

安装了semantic layer之后,只要在spacemacs中打开过某个文件,就会自动建立tag,

tag目录在~/.emacs.d/.cache/semanticdb/

比如这里就有个tag文件:

~/.emacs.d/.cache/semanticdb/!home!dean!work!gitlab!gitlab.com!mystudy!mongodb!code!simple!src!helper!semantic.cache

;; Object semanticdb-project-database-file
;; SEMANTICDB Tags save file
(semanticdb-project-database-file "semanticdb-project-database-file"
  :tables
  (list
    (semanticdb-table "semanticdb-table"
      :major-mode c++-mode
      :tags 
        '( ("helper/logger.h" include nil nil [1 27])
            ("InitLog" function (:type "void") nil [29 1018]))          
      :file "logger.cc"
      :pointmax 1019
      :fsize 1018
      :lastmodtime '(22645 60456 254615 422000)
      :unmatched-syntax nil))
  :file "!home!dean!work!gitlab!gitlab.com!mystudy!mongodb!code!simple!src!helper!semantic.cache"
  :semantic-tag-version "2.0"
  :semanticdb-version "2.2")


可以看到里面有一个InitLog函数。

现在进入main.cc文件中&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值