【问题标题】:Is there a way to find matching #if, #else, #elif & #endif in Eclipse?有没有办法在 Eclipse 中找到匹配的 #if、#else、#elif 和 #endif?
【发布时间】:2015-07-02 08:23:11
【问题描述】:

我有一些很长的 C 和 C++ 头文件,其中包含很多嵌套的 #if 语句。

#if FOO
    ...
#elif BLAR
    #ifndef WIDGET
    #endif
#else
    ...
#end

有没有办法在 Eclipse 中的匹配语句之间跳转?我发现了一个类似的question that says it is possible in Visual Studio,它表明应该使用 CTRL + ] 组合键,但这似乎只适用于匹配的大括号。

【问题讨论】:

    标签: c++ c eclipse


    【解决方案1】:

    不,没有办法。但是,2007 年提交的此错误报告要求使用此功能:https://bugs.eclipse.org/bugs/show_bug.cgi?id=182579

    如果你想要这个功能,去那里投票,以提高这个请求的重要性并给予它更高的优先级。您也可以发表评论。

    在添加此功能之前,一个超级糟糕的排序解决方法,as you suggested,是使用“查找/替换”对话框和“查找下一个”/“查找上一个”快捷方式键,搜索# 字符。

    步骤: Ctrl + F 然后在“查找”框中输入#。按“查找”按钮。这将跳转到它找到的下一个# 字符。随着# 字符现在缓存在“查找/替换”对话框中,您可以关闭“查找/替换”对话框并根据需要使用快捷键:

    • Ctrl + K = "查找下一个"
    • Ctrl + Shift + K = "查找上一个"

    您可以选择通过Window --> Preferences --> General --> Keys (source) 下的设置更改这些键。

    您可以使用 CTRL+Shift+L 来查看“显示键辅助”快捷键列表(取决于上下文),正如this answer here 所解释的那样。继续按 CTRL+Shift+L 几次以自动打开 Window --> Preferences --> General - -> 按键 设置窗口。

    在 Ubuntu 14.04 的 Eclipse IDE for C/C++ Developers v4.7.3a 中测试。

    请对上面的 Eclipse 功能请求“错误”进行投票,以让开发人员添加适当的解决方案。

    【讨论】:

    • 您说的是我的一种方法,而这不是我正在做的。在我的示例中,“查找下一个”和“查找上一个”是在声明中起作用,而不是在查找/搜索框中有一些东西。大约 4 或 5 年后,这项工作可能发生了变化,但这并不是我最初解决问题的方式。
    • 我想我得看看你做技术的视频。我希望 Eclipse 能够添加本机查找匹配 # 语句的能力。有段时间了。也许现在存在解决方案?
    • 我不再每天使用 Eclipse,因为我更多地使用 Go。当我回到 C 或 C++ 工作时,我会尝试看看更现代的 Eclipse 版本做了什么。
    【解决方案2】:

    似乎将光标放在#statment Ctrl+k 会将文件向下移动到匹配的语句,而 Ctrl+K 将反向移动。


    在写这篇文章时,我遇到了Visual Studio 2010 question: How to jump to matching #if/#elif/#endif statements? 这个问题指出 Ctrl K / Ctrl J 将在 Visual C++ 6.0 中做我想做的事。

    如上所示,Eclipse 特有的键盘命令也使用了 k。


    我还发现 Ctrl+L 会弹出一个键盘快捷键列表并列出 Ctrl+k 作为 Find NextCtrl+K 作为 Find Previous。再次按 Ctrl+L 会进入 Preferences > Keys 菜单,可以在其中添加新的组合。

    【讨论】:

    • 虽然你的问题很好,但你的答案似乎并没有回答你自己的问题,所以让我感到困惑的是你会问一个关于 Eclipse 的好问题,写你自己的答案适用于 Eclipse,因此甚至不回答您的问题,然后将您的答案标记为正确。
    • @GabrielStaples 我对我的问题给出了 Eclipse 的具体答案。
    • 我一定是弄错了。如果是这样,我很抱歉,但我无法让它在我的 Eclipse 中用于 C++ 安装。
    • @GabrielStaples 我回答的最后一部分告诉你什么是捷径?我有答案、我的来源以及用户通过访问快捷提示找到更多类似答案的方法。
    • 看起来这在 Eclipse IDE for C/C++ Developers 4.8.0 版中仍然适用于我。此外,似乎按下 Ctrl + Shift + L 两次,将带您进入提示菜单,然后进入配置菜单,您可以在其中检查您的键盘方案并在需要时设置新的快捷键。
    猜你喜欢
    • 2021-05-15
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2013-03-13
    相关资源
    最近更新 更多