在 Vim 中查找 C++ 类成员的定义/引用

2023-12-22

我正在将 Vim 用于一个我已经开始从事的 C++ 项目,并且最近我花了很多时间浏览现有代码以掌握它的窍门。为了使浏览更容易,我在 Vim 中设置了 ctags 和 cscope 来跳转到定义并查找引用。

然而,我发现他们都没有足够的智能来知道成员变量/函数属于哪个类。例如:

class Square;
...

Square a;
...
a.rotate();

试图找到的定义rotate()也会调出其他类的成员函数,比如 Triangle。我用g]在 Vim 中显示匹配标签的列表,幸运的是 ctags 列出了每个条目的关联类。然而,当有 200 个类具有相同的成员函数时,寻找正确的标签可能会很麻烦。

另外,如果我在函数定义中:

Square::rotate()
{
    ...
}

尝试查找所有呼叫rotate()使用 cscope 会调用 Triangle 和其他类的旋转函数。

正因为如此,我发现自己跳到Visual Slick编辑时不时地查找成员函数或成员变量的定义或引用。有什么办法可以让我在旧的时代完成这个任务吗?Vim?


SrcExpl http://vim.sourceforge.net/scripts/script.php?script_id=2179可能是您需要的插件。尝试一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Vim 中查找 C++ 类成员的定义/引用 的相关文章

  • 不同提供商的相同 EDMX 文件

    我正在开发一个项目 其中有一个本地数据库 SQL CE 在不存在与服务器的连接的情况下用作缓冲区 在服务器上我想使用相同的数据库布局 当然 我想使用服务器和客户端上可用的 Common dll 中的相同 EDMX 文件 在客户端中 我有一个
  • 套接字编程-listen() 和accept() 有什么区别?

    我一直在读本教程 http www cs rpi edu moorthy Courses os98 Pgms socket html了解套接字编程 看来listen and accept 系统调用都做同样的事情 即阻塞并等待客户端连接到使用
  • C++ 中的“int”默认是“signed long int”吗?

    Is int默认情况下signed long int in C 它是否依赖于平台和 或编译器 如果是这样 怎么办 EDIT 以下任何一项是否保证是重复的 signed short int signed int signed long int
  • Linux/Ubuntu 目录位置 ~/.vim/syntax/

    文件夹的默认位置在哪里 vim syntax 在Linux系统上 我正在尝试添加一个 Python 插件 您正在寻找 runtimepath 选项 该文档非常详细 使用 help runtimepath 但我会尝试在这里总结一下 The 运
  • 如何检查号码是否只有唯一的数字?

    例如 2345 是唯一的数字 因为没有数字显示两次 但 3324 不是唯一的数字 因为 3 出现了两次 我尝试使用 但我 代码 显示但我没有得到数字我得到了数字 编辑 你不能使用字符串 number 10 number 100 number
  • 如何在 ASP.NET Core 6.0 Web API 项目中启用 cors?

    在我的 ASP NET Core 6 0 Web API 项目中配置了 CORS 但预检请求收到 http 405 错误 换句话说 不允许使用 HTTP OPTION 看起来 cors 没有启用 我见过的例子config EnableCor
  • C语言中没有循环可以打印数组吗?

    例如 在Python中 如果我们将一个列表作为数组 它会直接用一行代码打印整个数组 有什么办法可以用C语言实现同样的事情吗 简短回答 No 对表格上几乎所有问题的简短回答 用 C 语言做 X 工作能像用 Python 一样简单吗 No 长答
  • 从二进制文件读取字节到 long int

    我有两个问题 我有二进制文件的数据 我想使用 read 函数读取前 8 个字节以签署 long int 但我不能 你知道我该怎么做吗 如何直接读取一块数据到字符串中 我可以像所示那样阅读吗 前任 ifstream is is open te
  • 主构造函数不再在 VS2015 中编译

    直到今天 我可以使用主构造函数 例如 public class Test string text private string mText text 为了能够做到这一点 在以前的 Visual Studio CTP 中 我必须将其添加到 c
  • 何时分离或加入 boost 线程?

    我有一个方法 大约每 30 秒触发一次 我需要在一个线程中包含它 我有一个可以从类外调用的方法 像 call Threaded Method 这样的东西会创建一个线程 该线程本身会调用最终的线程方法 这些是 MyClass 的方法 void
  • 确定相关词的编程方式?

    使用网络服务或软件库 我希望能够识别与词根相关的单词 例如 座位 和 安全带 共享词根 座位 但 西雅图 不会被视为匹配 简单的字符串比较对于这类事情似乎是不可行的 除了定义我自己的字典之外 是否有任何库或 Web 服务不仅可以返回单词定义
  • 如何使用 C# 将表格粘贴到 Ms-Word 文档的末尾

    我有一个预制的 Word 模板 其中有一个表格 我想打开它 然后在文档末尾添加 粘贴 另一个表格 问题是它不会转到文档的末尾 而是将新表格粘贴到原始表格的第一个单元格中 任何帮助将不胜感激 previous code copied a ta
  • 删除数组时出现访问冲突异常

    删除分配的内存时 出现 访问冲突读取位置 异常 如下所示 我有一个针对 Visual Studio 2010 工具集 v100 C 编译器编译的本机 dll 我有一个针对它的托管 dll 包装器 它是针对工具集 v90 编译的 因为我想以
  • 如何在 SQLite 中检查数据库是否存在 C#

    我目前正在用 C 编写一个应用程序 并使用 sqlite 作为嵌入式数据库 我的应用程序在启动时创建一个新数据库 但如何让它检查数据库是否存在 如果它确实存在 我如何让它使用它 如果不存在如何创建一个新数据库 这是我到目前为止所拥有的 pr
  • 为什么使用 键取消搜索时 vim incsearch 会暂停?

    在 vim 中 如果你set incsearch然后它将滚动到当前搜索词的下一个匹配项 而无需移动光标 我经常用它来阅读一段代码而不用将光标移动到那里 因为我可以点击
  • 按 Enter 继续

    这不起作用 string temp cout lt lt Press Enter to Continue cin gt gt temp cout lt lt Press Enter to Continue cin ignore 或更好 in
  • 如何使 WinForms UserControl 填充其容器的大小

    我正在尝试创建一个多布局主屏幕应用程序 我在顶部有一些按钮链接到应用程序的主要部分 例如模型中每个实体的管理窗口 单击这些按钮中的任何一个都会在面板中显示关联的用户控件 面板包含用户控件 而用户控件又包含用户界面 WinForms User
  • C# 模式匹配

    我对 C 有点陌生 我正在寻找一个字符串匹配模式来执行以下操作 我有一个像这样的字符串 该书将在 唐宁街 11 号接待处 并将由主要医疗保健人员参加 我需要创建一个 span 标签来使用 startIndex 和 length 突出显示一些
  • 使用方法的状态模式

    我正在尝试使用方法作为状态而不是类来基于状态模式的修改版本来实现一个简单的状态机 如下所示 private Action
  • 包含从代码隐藏 (ASP.NET C#) 到 ASPX 中的图像概述的图像列表 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • Jenkins 管道 sh returnsstdout 不工作

    我正在尝试使用 Jenkins pipeline sh 命令的 returnStdout 功能 此处定义https jenkins io doc pipeline steps workflow durable task step code
  • JAR 文件:为什么提取然后压缩 JAR 文件会创建与原始大小不同的文件?

    我试图编辑提取的 Eclipse 插件 jar 文件中的单个字节 我注意到 在我将文件重新压缩为 jar 后 生成的文件比原始文件大 仅 1 并且该插件不起作用 Eclipse 已启动 但在选择工作区后静默关闭 回滚到原来的插件可以让它成功
  • 删除 index.php 并处理两个 Codeigniter 站点的子域(当其中一个站点位于另一个站点时)

    我有两个 Codeigniter 站点 一个位于另一个站点的子目录中 我需要一些帮助来修改我的 htaccess 文件以从两者中删除 index php 第一个站点 http subdomain domain com存储在 home sit
  • 将 2D 数组传递给 C++ 函数

    我有一个函数 我想将可变大小的二维数组作为参数 到目前为止我有这个 void myFunction double myArray myArray x y 5 etc 我在代码中的其他地方声明了一个数组 double anArray 10 1
  • 使用裁剪工具进行图像裁剪的 Django 应用程序

    我需要一个在客户端裁剪图像的应用程序 我的意思是 使用像 Jcrop jquery 插件这样的裁剪工具 我找到了这个工具 django 图像裁剪器 https github com marazmiki django image croppe
  • CUDA/PTX 32 位与 64 位

    CUDA 编译器可以选择生成 32 位或 64 位 PTX 这些有什么区别呢 是不是像 x86 一样 NVidia GPU 实际上也有 32 位和 64 位 ISA 还是仅与主机代码有关 指针肯定是最明显的区别 http docs nvid
  • NanoHTTPD - 将 https 流转换为 http

    为了克服 Chromecast 对来自自认证 https 服务器 在我的例子中是 Subsonic 音乐服务器 进行流传输的限制 我正在利用已经作为我的 Android 应用程序的一部分运行的 NanoHTTPD 服务器实例 这个想法是从
  • 如何在 Dart 中将 RxInt 转换为 Int ||扑?

    我正在玩扑扑 我遇到错误并且没有得到任何正确的解决方案 在我的应用程序中 我有一些可观察的变量GetX https pub dev packages get控制器 当尝试应用某种格式然后在此处获取日志时 Exception caught b
  • Maven 3.0.4 NoSuchMethod:... java.lang.NoSuchMethodError:com.google.common.collect.ImmutableSet.copyOf(..)

    我已经安装了Maven 3 0 4 with Homebrew每当我运行mvn命令我得到以下信息 Exception in thread main java lang NoSuchMethodError com google common
  • OkHttp 对请求启用/禁用 gzip 压缩

    我在用着Retrofit管理我的请求并希望进行一些测试来检查使用或不使用 gzip 的请求大小 默认情况下OkHttp对请求执行 gzip 压缩 或者必须使用拦截器 https github com square okhttp wiki I
  • jQuery 文档就绪与窗口加载冲突?

    我正在尝试拼凑一个视频库 我正在使用 jQuery 制作滑出面板 这很简单 我还使用 jQuery 来滚动缩略图 他们都工作得很好 问题是我需要滚动缩略图在滑出面板内工作 但事实并非如此 我认为这与文档准备好和窗口加载两个功能有关 我不确定
  • Ruby 中引发异常与抛出异常有什么区别?

    Ruby 有两种不同的异常机制 Throw Catch 和 Raise Rescue 为什么我们有两个 什么时候应该使用其中一种而不是另一种 raise fail rescue and ensure handle errors 也称为例外情
  • 如何以编程方式更新客户商店信用

    我正在使用 Magento 版本 1 9 1 1 我需要更新客户的商店信用余额 我知道可以在 Magento 管理界面中执行此操作 但就我而言 我需要向服务器发出 HTTP 请求 并且实际上执行与通过 Magento 管理界面执行的操作相同
  • 将brew安装的库包含到XCode中

    我正在尝试使用 Raylib 创建游戏 我想使用 XCode 因为我认为库管理会像 Windows 上的 Visual Studio 一样简单 我安装了这个库brew install raylib 现在我尝试运行这个从 Raylib 网站复
  • apollo graphql 响应数据中未显示“Extensions”字段

    这里有一个可重现的例子 https github com stonecold123 typegraphql test Run app js并在操场上导航http localhost 4000 graphql http localhost 4
  • VBA 中的编辑距离 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有包含数据的 Excel 工作表 我想获取它们之间的 Levenshtein 距离 我已经尝试导出为文
  • 使用 Python 2.7 的 HTML 解析树

    我试图为下面的 HTML 表配置一棵解析树 但无法形成它 我想看看树结构是什么样的 有人可以帮助我吗 p class title b The Dormouse s story b p p class story Once upon a ti
  • Python:BASIC 中是否有相当于中、右、左的词?

    我想做这样的事情 gt gt gt mystring foo gt gt gt print mid mystring Help 切片来救援 def left s amount return s amount def right s amou
  • iText 通过检查 CRL 来验证签名

    我正在设置一个验证器 可以检查签名的有效性 我所做的签名基于 DSS 级别 LT 因此文档中内置了撤销检查 我现在遇到的问题是在我在iText中开发的验证器层面 它允许验证签名的有效性以及撤销信息的有效性 根据我的研究 IText 允许基于
  • 在 Vim 中查找 C++ 类成员的定义/引用

    我正在将 Vim 用于一个我已经开始从事的 C 项目 并且最近我花了很多时间浏览现有代码以掌握它的窍门 为了使浏览更容易 我在 Vim 中设置了 ctags 和 cscope 来跳转到定义并查找引用 然而 我发现他们都没有足够的智能来知道成