4

我正在为 C/C++ 寻找一些强大的编程环境。事实上,我唯一需要的是强大的源导航+创建工具。不管它是免费的还是商业的。我更喜欢一些 linux 工具,但它不一定是必要的 linux 应用程序。

我需要的是某种具有以下功能的编辑器:

  1. 更多打开的文件 + 选项卡/缓冲区切换
  2. 突出显示(+括号匹配,折叠等...)
  3. 保存会话
  4. 预览窗口(当光标停在某个符号上时,我还有一个预览窗口,显示该符号的定义)
  5. 通过代码搜索符号的用途
  6. 智能补全(必须支持c++ 14!)

什么会很好:

  1. 代码美化器或类似的东西
  2. UTF-8 支持
  3. 编辑器模板(例如模块、函数的自动注释标题...)
  4. 其他编辑器脚本
  5. 可从程序访问的终端/控制台 || 编译调试功能(只是为了能够编译整个项目而无需大量切换到命令行)
  6. 程序流可视化

请问全世界有没有人知道任何事情,知道所有这些?

我尝试了几个编辑器/IDE,但它们都遗漏了一些东西。我决定强调缺少对新 c++14 的支持——这可能是现在最大的问题:

  • 虚拟机

    • 惊人的脚本功能
    • 4 和 6:我尝试使用 vim+ctags+cscope 和 vim+gtags + omnicomplete。但它不是那么有用。这不能正常工作。Vim 不知道 c++,也不知道符号上下文。尽管在学习 vim 脚本数小时后我已经能够基本实现所需的行为,但我无法以更复杂的方式使用它。(假设我有全局变量和局部变量,名称相同但不同类型 - vim ofc 无法识别我现在看到的是全局变量还是局部变量。而且我什至没有在谈论命名空间等......)。实际上,VIM 现在在 clang(libclang) 的帮助下支持 c++14,并且有一个很棒的插件叫做 YouCompleteMe,它可以使用 libclang,它的自动完成确实适用于 c++14 代码!它使 vim 成为唯一支持 c++14 的编辑器。. 这个插件现在或多或少可以在更多的编辑器(vim、emacs、sublime)中使用。它添加了自动完成、跳转到定义和错误消息。
    • 支持 c++14
  • 来源洞察

    • 惊人的突出显示功能(突出显示的不同字体令人惊叹(尤其是函数定义标题中的函数名称),也可以分配键盘快捷键以取消字体差异,只保留颜色突出显示(当您对不同的代码对齐感到困扰时) (由于字体不同)
    • 1) 的问题(尽管存在一个名为 TabsSiPlus 的黑客库)
    • 没有终端/控制台
    • 软件不再维护,它不是开源的(甚至不是免费的):(((
    • 缺少 c++14 支持
  • 光滑编辑

    • 惊人的自定义可能性,可以模拟 vim 编辑风格(哇!)
    • 没有终端/控制台(实际上有一个,但不是很好,但是它具有内置的编译功能
    • 它有奇怪的 GUI - 滚动条、不同的窗口标题等占用了大量空间。
    • 它有点贵(与其他人相比)
    • 缺少 c++14 支持
  • Kdevelop4

    • 非常令人愉快的 GUI,漂亮的控制台,非常快,可以模拟 vi 编辑风格(虽然不太好)
    • 错过强制重新扫描/重新标记项目(有时有错误的符号引用,尤其是在较大的项目中 - 这让我很烦恼)
    • 它的预览窗口不显示定义,仅参考定义,然后定义显示在主编辑窗口中.. - 无法立即看到实际代码和符号定义:((
    • 缺少 c++14 支持
    • 环境优美,功能丰富。
    • 没有 ad4),但是它有某种预览气泡。当您将鼠标光标悬停在符号上时,它将显示一个带有符号定义的气泡。它的功能不错,但不幸的是您需要使用鼠标,而且它现在作为单独的预览窗口对用户很友好。
    • 它也有点慢,但我认为这是由于实时语法检查,它可能会被禁用。
    • 缺少 c++14 支持
  • Emacs

    • 通过与 vim(YouCompleteMe) 类似的插件支持 c++14(参见 Vim 部分)。
    • 请一些精通 Emacs 的用户可以填写这个部分吗?
    • 支持 c++14
  • 崇高的文字 3

    • 不是免费的
    • 通过与 vim(YouCompleteMe) 类似的插件支持 c++14(参见 Vim 部分)。虽然我有一些问题。对我来说,插件比 Vim 更不稳定。
    • 通过不同的插件,它支持或多或少与 vim 相同的功能(从用户视图)。
    • 支持 c++14

你们中的任何人是否使用了一些不同的编辑器,可以从上面的列表中执行任何操作,或者可能是一些可以实现所需功能的插件/脚本?

4

3 回答 3

3

关于 VIm 和您的第 6 点,我听说clang_complete,它利用 LLVM 编译器中的 clang 非常准确,但我还没有测试过自己。

于 2011-10-07T11:55:46.977 回答
0

试试 Eclipse,几乎可以处理所有事情(从 Java 到 C 和 GNU 工具)

于 2011-10-07T11:52:51.733 回答
0

Eclipse 支持 c++14,你需要做的就是在你的prefrences->C/C++->Build->Settings->Discovery 中为“ CDT Cross GCC Built-in Compiler Setting ”添加 -std=c++1y在编译器规范的末尾添加“ -std=c++1y ”。

您还在项目设置中设置方言以支持 c++14,

转到您的项目设置->C/C++ Build->Settings->GCC C++ Compiler->Dialect并选择-std=c++1y

于 2017-09-27T14:33:54.833 回答