多年来,我的 Windows C 标记/范围解决方案几乎已经奏效。我可以构建文件列表,构建用于 vim/gvim 导航的标签(通过 Exuberant Ctags),构建 cscope.out,并在我通过单击 C 源文件启动的 gvim.exe 窗口中进行标记。
让我难以理解的最后一点是,当我选择一个项目时,我似乎无法在 cmd.exe 中让 cscope 启动我的编辑器。我确保 gvim.exe 在我的 Path 环境变量中。我确保设置了 CSCOPE_EDITOR 环境变量(更多内容见下文)。但是当我从 cscope 中选择一个行项目时,编辑器不会启动。相反,我得到以下两个失败之一:
- 如果 CSCOPE_EDITOR 是 gvim.exe -f 或 "gvim.exe -f" 然后我看到打印在 cmd.exe 窗口的顶部,后跟行偏移量和文件名(例如 "gvim.exe -f +72 myfile .c") 然后它迅速返回到 cscope 而编辑器不会弹出。
- 如果 CSCOPE_EDITOR 是 gvim.exe(没有 -f 选项),则启动 gvim.exe进程(我在 Windows 任务管理器中的进程下看到它)但它永远不会作为应用程序出现在前台。此外,在我手动终止生成的 gvim.exe 进程之前,cmd.exe 中的 cscope 窗口变为空白且无响应。
供参考:
cscope -V 返回“cscope:版本 15.8a”并从该站点下载: http
://code.google.com/p/cscope-win32/
我的 gvim.exe 版本是 7.3,最新版本可从http://www.vim.org/
另外,我用“C”标记了这篇文章,因为虽然这不是 C 语言问题,但 cscope 和 ctags 主要用于 C 编程,因此我认为 C 标记是相关的。(我想我会在有人出现并删除标签并说这不是 C 问题之前指出这一点,因为 C 程序员最有可能得到答案。)