问题标签 [ctags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - Vim 自动生成 ctags
现在我有以下内容.vimrc
:
这样做有几个问题:
- 它很慢 - 为自上次标记生成以来未更改的文件重新生成标记。
- 由于不可避免的“按 Enter 或键入命令继续”,我必须在写入文件后再次按下 Enter 按钮。
当您将这两个问题结合起来时,我最终会过早地按下额外的输入(在ctags -R
完成之前),然后看到烦人的错误消息,并且不得不再次按下输入。
我知道这听起来没什么大不了的,但是根据我在特定日期执行的文件写入量,它往往会变得非常烦人。必须有更好的方法来做到这一点!
vim - 几个vim问题
所以我希望一些老派的 Vim'ers 可以帮助我。这些都是单独的问题,通常我会单独提出它们,但我不确定这是否有资格作为问题嫖娼。
另外,我认为,如果您足够了解这些问题,那么它们都会在不久的将来出现:
- 我有一个正在编写的库和一系列使用该库的应用程序。似乎没有一种简单的方法(据我所知)为库构建一个ctags 文件并为我的每个应用程序构建一个并确保当我在 vim 中时一个引用另一个。
- 使用 gf 从命令模式打开文件很棒,但是我的很多包含文件不包含完整路径。它们指的是我在 IDE 中设置的包含目录。如何将此目录设置为 Vim 开始查找文件的另一个点?
- 有没有办法在 Vim 中编译文件并将输出发送到缓冲区?我目前正在使用 MSVS 2k3,但我将在几周后移植到 Linux,所以如果这在任一系统上都是可能的,我将不胜感激。
c++ - ctags 最佳实践
我正在 Solaris 上开发 +1M LOC C/C++ 项目(远程,通过 VNC 或 SSH)。我的本地机器上也有每日更新的源代码副本(Windows,仅用于浏览代码)。
我使用 VIM 和 ctags 组合(在 Solaris 和 Windows 上),但我对结果/速度不满意。您会推荐哪些 ctags 设置?有很多选项应该标记什么以及如何标记。我应该为每个项目、每个目录使用单个标记文件,还是只为所有内容使用一个标记文件?
macos - 如何让 ctags 获取 .h 文件中的函数?
我正在使用 Exuberant Ctags 5.7。我正在尝试为 CGContext.h 构建一个标签数据库:
生成的标签文件中不包含任何功能。它只有 75 行类型和枚举。
ide - How to use multiple tabs when tagging to a function in Vim
I use ctags with my Vim and I rely heavily on C-] and C-T to tag back and froth between various functions in my project.
But if the function is in a different file, I'd like Vim to automatically open it in a new tab instead of the current tab. If I pop my tag stack using the C-T, I'd like it go back to the original tab where I pressed by C-] instead of changing the file in the current tab. I don't like to have the same file opened in multiple tabs in Vim. This is the normal behavior for most IDEs and I am wondering if there is a way to do this in Vim?
shell - 谁调用这个函数?
在我的上一份工作(遗留 FORTRAN 77 代码)中,我们有交叉引用文件,其中列出了哪些子例程称为其他子例程、在哪些文件中定义了子例程、哪些公共块包含哪些变量、哪些子例程包含哪些公共块等。这些是然后由 grep 交叉引用文件的 shell 脚本使用,并会告诉您有关程序设计的信息。
我现在在一家新公司(C++ 代码),我找到了 ctags 来替换其中的一些功能。我最想念的一件事是我们称为“who.calls”的命令,它列出了哪些子例程(我的意思是函数或方法,必须习惯于 OO-speak)调用给定的子例程。例如,如果子程序foo
调用子程序bar
:
关于如何在不重新设计旧公司的编程环境的情况下做到这一点的任何建议?我正在寻找可以在命令行中使用的超级正则表达式或其他方法,但我愿意接受其他方法,这些方法采用一些完全不同的方法来给我相同的信息。我基本上想在不运行调试器的情况下发现一个调试函数堆栈。
emacs - 如何使用 emacs 以编程方式创建/更新 TAGS 文件?
是否有任何 emacs 插件可以自动更新我的 C 项目中的 TAGS 文件(例如在缓冲区保存或访问时),或者如果不存在 TAGS 文件则创建一个新的?
我在 Windows 上运行(没有 Cygwin),所以所有花哨的 shell 脚本都无济于事。我希望有一个不使用任何外部脚本的本机 emacs 解决方案。
我已经尝试过build-tags.el和etags-table.el但这些都没有真正起作用(我想要的方式)。
还有其他想法吗?
vim - Vim 和 Ctags 提示和技巧
我刚刚用我的 Vim(或者更确切地说是 gVim)安装了Ctags(以帮助 C++ 开发),并想找出你最喜欢的命令、宏、快捷方式、伴随它的提示......
分享你最好的武器库。对于 Vim 开发中的 C++,您会推荐哪些其他 Vim 附加组件?
编辑您将与 Ctags 一起使用哪些其他附加组件?
EDIT2你使用什么版本的 gVim 和标签?这有什么不同吗?
EDIT3您如何增强您对大型和小型项目的编程体验?
c++ - vim、ctags 和同名标识符
vim + ctags
适用于 C 项目,因为 C 不允许函数重载,并且由于基本的作用域设施,通常鼓励手动为符号添加前缀。
在 C++ 中,函数经常在子类中被重载和覆盖。这使得 vim 总是跳转到错误类中的标签上"Ctrl + ]"
。有没有办法让它表现得更聪明一点?我知道我可以带一个带有标签替代品的列表,但是总是不得不提出这个列表,并且每当我想跳到定义时按数字找到所需的标签,这真是太烦人了。