看代码的利器-sourceseek插件
SourceSeek是一款VSCode插件用于C/C代码的浏览跳转利用cscope和ctags,global(c)建立索引数据库搜索很快。vscode自带cpp插件不建数据库对于大项目很慢在服务器上远程使用可能会把CPU资源全占掉造成别人登录非常卡顿。另外和clangd这样的插件相比不需要通过编译有编译错误也没关系。另外还提供了强大的历史符号浏览记录功能能够把浏览的函数调用栈记录下来保存在文件中下次再加载查看相关函数就非常方便了。对于linux内核这样复杂的代码一个符号可能有很多定义也有不同通过函数指针的定义可以手动建立函数调用关系链接下次再看的时候就不用再一个一个找了也可以把记录文件分享给别人。并且支持导入linux内核autoconf.h这样的宏定义文件在显示代码的时候如果没有被宏激活的代码将会显示会灰色。内置的cscope/ctags修改增加导入宏定义在创建索引库的时候跳过未被宏激活的代码。对于内核代码可以通过对话框加入想要的驱动生成cscope.filse,不需要加入所有代码。markdown预览和代码跳转功能手动或AI生成代码流程的markdown文件对于其中的代码位置file.c:382, file.c#L382, 这样的链接可以直接跳转打开预览后可以左边显示章节目录点击代码链接后在右边编辑窗口显示代码位置。支持简单的大模型功能可以配置API, 通过一个简单的问答窗口提问节省token, 可以快速生成命令行自动生成commit message通过git 提交当前的修改。直接LLM代理打开7080端口进行转发并可以记录交互过程可建立不同模型之间的转换。可以在VSCode 应用市场搜SourceSeek安装。功能介绍建立数据库通过右链菜单生成建立文件列表和生成索引可以分开进行也可手动修改文件列表建立内核代码索引定义宏激活代码打开一个目录第一次搜索时会自动建立cscope/ctags数据库也可以自已通过命令行提前生成cscope -Rcbqk或先建立cscope.files文件, 再cscope -cbqkctags --fieldsi -Rno插件包里自带windows/linux的cscope/ctags/readtags命令linux版本可能和所用的发行版不一致可以在设置里修改成系统自带ctags/cscope,但是就没有宏识别的功能了。Outline窗口:显示文件中的函数结构等并且可以切换只显示函数JumpGo to Definition菜单 F12或 CtrlClick 一个符号跳转到定义处如果有多个显示一个插入式窗口Go to Reference跳转到引用处如果有多个显示一个插入式窗口Call Hierarchy窗口All reference窗口预览鼠标悬停在符号上时在右边窗口显示改符号的定义也可以设置成悬浮窗口预览除了函数结构宏定义等默认通过悬浮窗口预览函数在右边编辑窗口预览可以在状态栏菜单中设置函数也用悬浮窗口预览。 在右边窗口打开以后鼠标放在右边窗口的符号上则会统一用悬浮窗口预览。宏识别与低亮显示内置的ctags和cscope修改增加了导入宏定义文件例如导入linux kernel编译生成的autoconf.h文件则没有被宏激活的代码不会生成索引。另外在编辑器窗口未激活的代码显示为灰色。内置的ctags和cscope修改增加了导入宏定义文件例如导入linux kernel编译生成的autoconf.h文件则没有被宏激活的代码不会生成索引。另外在编辑器窗口未激活的代码显示为灰色。全局搜索在上方键入#后面跟符号可以全workspace搜符号文本搜索双击选中一个单词右键菜单中可以搜索跳转到搜索窗口历史记录窗口历史记录窗口记录跳转定义Call Hierarchy, reference by所搜索的符号的历史。自动保存在workspace目录下次加载自动把历史记录加载进来。也可以通过按钮保存到文件和从文件加载。可以过滤只显示函数。对于符号定义如果某个符号有多个定义会在子节点中显示对于符号调用链在CALLERS OF窗口中一层一层显示某一个调用链在历史记录中会以子节点记录下来。某一个调用链可以拷贝到剪贴板上。手动建立调用关系在某些函数指针调用或者多层的调用想省去中间调用过程直接调到关键函数可以手动建立函数调用链接。通过双击定义处函数名符号弹出菜单(Link Caller/Mark Definition), 点击以后弹出菜单可以选择调用点或者取消菜单可以标记一个定义供Link Definition的时候选择。通过双击定义处函数名符号弹出菜单(Link Definition/Mark Caller), 点击以后弹出菜单可以选择函数名或者取消菜单可以标记一个调用点供Link Caller的时候选择。弹出菜单除了标记的函数菜单也会显示历史记录中的函数名供选择可以右键菜单显示建立的调用关系在下方OUTPUT窗口显示在call Hierachy中可以显示手动建立的调用关系F12也可以跳转到手动建立的函数中。在项目的workspace中自动保存这个项目的函数指针map, 每次打开自动加载。状态栏快速设置点击状态栏CodeSeek显示几个切换开关1.使能鼠标悬停预览2.使用同一个tab打开预览文件还是新文件新开一个tab3.悬停符号是否加入历史4.是否用右侧窗口预览还是悬停tips预览5.是否显示cscope/ctags/readtags命令行。命令cscope/ctags/readtags三个命令的Windows版本和Linux版本已预置在插件中。可以配置使用系统自带命令快速AI窗口在终端窗口或编辑器窗口按hotkey ctrlaltk, 会弹出一个小窗口可以输入一个请求发给AI。在终端窗口根据输入直接返回一个shell命令或管道命令组合自动输入在命令行上人工检查无误就可以回车执行。markdown预览右键或快捷键打开预览
上一篇/下一篇内容由系统自动关联
返回资讯列表 →