我正在寻找应在Windows 8上运行的C ++集成开发环境。该程序理想上应该支持以下功能:


代码完成/提示
缩进帮助< br语法高亮显示
重构(至少可以重命名变量,类,函数等)
代码导航(类似于ctrl +在Eclipse Indigo中单击)

此外,IDE应该符合标准,这意味着它不会使用故意或故意违反C ++标准的编译器或代码解析器(就像Microsoft Visual Studio一样),并且在用户编写非标准时会通知用户兼容的代码(尽管编译器可能接受)。

目前,我无法获得非免费的产品,但我愿意接受描述相对便宜的答案(例如, $ 100)产品。

评论

这里需要区分标准遵从性与用于编译代码的基础工具链严格相关。 IOW,IDE不能违反c ++标准,因为它不负责将您的源代码转换为可运行的代码-编译器负责。
从JetBrains尝试CLion。

您对vi和/或emacs有多少经验?即使经验是几十年前,也请数一数。 (就像您永远不会忘记如何骑自行车一样,您也永远不会完全忘记如何在短短的几次击键操作中就完成酷酷的事情。)

“ IDE应该符合标准”-该请求实际上对IDE没有意义,因为符合工作标准的是基础编译器,而不是IDE。例如。如果您使用Code :: Blocks并告诉其使用MSVC,那么您在链接中提到的非标准行为当然也将以相同的方式起作用。

@Brandin OP已受过教育,但对这个问题不再感兴趣。随时根据社区的需要进行编辑。

#1 楼

代码::块

如果您要使用多个平台的团队工作,我建议将其用于Windows。它可以处理配置更改,因此您永远不会注意到您的队友没有使用相同的操作系统。它是一个功能非常强大的现代IDE,但是对于某些项目而言可能太多了。它可以直接使用许多编译器工具链,并且可以针对几乎所有非标准工具进行配置。

正如官方网站所说,Code :: Blocks是一个“ ...开源,跨平台,免费C,C ++和Fortran IDE。”

功能


导入MSVC项目和Dev-C ++项目
开源
本地跨平台
用C ++编写。无需解释语言或专有库。
可通过插件扩展
语法高亮显示,可自定义和扩展
代码完成/提示更多功能信息可在官方网站上找到。



评论


这提供重构支持吗?怎么样?

–伊拉克·巴克斯特
16年7月7日在2:59

代码:::块不再维护。我建议改用Qt Creator。无论如何还是更好。

– Timmmm
17年1月16日在9:42

@Timmmm:确实似乎Code :: Blocks网站尚未整年更新。

– einpoklum
17 Mar 10 '17 at 8:42

#2 楼

有一个适用于Netbeans的C / C ++捆绑包。

我可以验证它是否具有语法突出显示,代码完成和代码格式化/缩进辅助。我个人使用过C ++捆绑软件,我每天都使用Java和PHP风格,并且基于cntrl + click导航和重构的存在,我认为它们也应该出现在C ++捆绑软件中。 br />我发现Netbeans唯一真正的缺点是,有时在几个小时后,它会由于(我认为是)内存泄漏(至少在64位Windows 7上)而变得迟钝,甚至无法响应。 ,这时您需要终止关联的java.exe进程以释放内存。不过,这个问题可能已经解决,因为我已经有几个月没有经验了。

#3 楼

CDT项目提供了基于Eclipse平台的功能齐全的C和C ++ IDE。功能包括:支持各种工具链的项目创建和托管构建,标准make构建,源导航,各种源知识工具,例如类型层次结构,调用图,包括浏览器,宏定义浏览器,带有语法突出显示,折叠和超链接的代码编辑器导航,源代码重构和代码生成,可视化调试工具,包括内存,寄存器和反汇编查看器。 (来源)



评论


我不会说它是全功能的-毕竟,它的重构功能几乎为零,并且像您在Java的Eclipse中一样,它不提供自动的错误解决方案和警告解决方案-但是它正在实现。也许十年后它会变得不错...(不要误会我-我每天都使用它)。

– einpoklum
16-2-27在10:41

#4 楼

CLion



这是ReSharper C ++已知的具有高级C ++支持的跨平台IDE。 IDE由IntelliJ Idea和Android Studio背后的公司JetBrains开发。

可在Windows,Linux和MacOS上运行。

关于功能:


代码完成-它完成变量名,类成员,头文件名以及C ++ IDE所期望的一切。
缩进-它具有可配置的自动缩进。
语法高亮显示C ++和一些Web语言。
高级重构支持。也许是C ++ IDE中最好的。它允许您重命名变量和类,将代码提取到一个单独的函数,在类层次结构中上/下移动成员,移动和复制代码,而我可能没有涵盖所有内容。 +单击转到定义,搜索引用,然后在您访问的代码位置中前后移动。
它具有很好的静态分析。在一次编译代码之前,您可以查看并更正大多数错误。它还会警告其他IDE(例如未使用的include)会忽略的情况。
代码生成-您可以自动生成未知变量的声明,或使用其源文件和头文件创建新类。 CLion的另一个优点是它使用CMake CMakeLists.txt文件作为其项目文件,而不是使用新格式。这允许开发带有或不带有IDE的项目,并且可以轻松地将项目导入其中。

#5 楼

Orwell Dev-C ++

很早以前,Dev-C ++可能是Windows上免费的C / C ++ IDE,但是它有很多错误,并且原始版本很长一段时间都没有得到维护。 Orwell版本修复了许多已知问题。至少值得一试。还值得一提的是另一个名为WX-Dev-C ++的fork,它可能对RAD GUI开发很有用,但是此版本也不再需要维护。

Orwell Dev-C ++版本:
-Dev-C ++版本
原始Dev-C ++版本:


所有版本支持的功能:


支持GCC-基于基础的编译器
集成调试(使用GDB)
支持多种语言(本地化)
类浏览器
代码完成
调试变量浏览器
项目经理
/>可自定义的语法突出显示编辑器
快速创建Windows,控制台,静态库和DLL
支持模板来创建自己的项目类型
创建文件
编辑和编译资源文件
/>工具管理器
打印支持
查找和替换工具
软件包管理器,用于轻松安装附加库
CVS支持
待办事项列表
CPU窗口

WX版本扩展了此w ith:



WYSIWYG wxWidgets资源编辑器

Orwell版本对此进行了扩展: 4.8.1 32位
TDM-GCC 4.8.1 32/64位
语法高亮显示
代码完成
将鼠标悬停在代码上方时显示有关代码的信息
提供用户可编辑的快捷方式和工具
GPROF分析
GDB调试
Devpak IDE扩展

社区dev-pak(插件)也存在。 devpaks.org是一个不错的网站。另外,在此外部线程中似乎有针对Orwell的WX dev-pak扩展,但我尚未对其进行测试。

评论


我目前在我的C ++开发中使用WxDev-C ++,如果您不需要WxWidgets,我真的不建议这样做。即使如此,它所具有的主要错误数量,尤其是GUI设计器与代码不同步,也使Visual Studio成为WxWidgets的首选环境。

–肯·赫伯特
2014年2月10日的1:35

是的,我希望它能得到更好的维护。您是否尝试过代码块? wiki.codeblocks.org/…

– ConfusedStack
2014年2月10日,下午1:38

我使用过奥威尔(Orwell),虽然它可用(并且比流血要好得多),但是它仍然缺少我想要的许多功能。不过,我将检查WX。

–接近黑暗鱼
2014年2月10日下午2:36

因此,仅Windows?

– einpoklum
16-2-27在10:42

#6 楼

Qt Creator

在Qt5时代,IDE已经足够成熟,可以成为大多数Qt开发人员的首选。这需要相当多的功能,这使得IDE现在也可以很好地用于非Qt项目。

Pro的: MinGW工具链与Qt工具包一起安装时,仍然可以构建非Qt项目。
MinGW和MSVC工具链的集成无需额外的工作,包括使用它们进行调试。可用的插件数量
最近的IDE可能会提供全套IDE功能。 Qt安装程序不附带


评论


我同意这是迄今为止最好的,尤其是内置了clang代码模型和静态分析之后。实际上,它现在比Intellisense更好。这个问题中提到的所有其他IDE都落后了几年(也许我没有尝试过的CLion除外)。

– Timmmm
17年1月16日在9:41



#7 楼

Geany


根据官方网站的说法,“ [i] t的开发是为了提供小型
和快速的IDE,它与其他软件包的依赖性很小。
它支持许多文件类型并具有一些不错的功能。“


这是一个很棒的基本编程编辑器,带有Windows端口。它相对便宜($ 0 <$ 100),可在Windows 8上运行,无需对编译器做任何假设,(AFAIK)保持C ++标准,因为它默认对C / C ++使用GNU gcc / g ++(可以使用已安装的任何编译器),并具有您要的许多功能。尽管比某些其他企业解决方案有更多的限制,尤其是在资源匮乏的环境中,但它可以保持自己的地位,因为:

功能:提示
缩进辅助
语法突出显示
更新:它确实支持最小的重构和重排(并且有些工具/插件也可以改善此问题)在打开的文件中)

在类似的类别中是令人惊叹的程序Notepad ++,以及Unix / GNULinux强大的vim或emacs品种,但我建议Geany,因为它几乎可以轻松使用0学习曲线,并且:

还具有:


免费
跨平台
为您提供相同的外观和感觉(尽管这是高度可定制的,但是无论平台是什么,
都将允许多语言支持(通常大型项目可能使用脚本等,并且只需要一个IDE还是很好的)。
无需编译器假设-这是ea sy使其可以使用任何C ++兼容的工具链
非常可定制的
非常轻巧的
在POSIX系统(Linux)下完成终端集成,



就个人而言,当我在带有GUI的Linux上快速编写代码时,我几乎只使用此IDE。它具有一些非常好的C / C ++功能,通常保留给更大的程序。它速度很快,几乎可以打开任何非二进制格式的文档。它具有不错的按键命令,例如切换行,复制以及多行缩进和注释控制。您可以在其中使用VIM(作为其提供的终端访问的一部分)。它可以节省构建软件的方式,而无需项目自包含其自身的构建选项。例如,即使没有makefile(可与功能键一起使用),您也可以保存基于文件类型可选择的构建选项。如果您经常使用并链接有多个库,但又希望能够快速编写,编译和测试它们,这将很有用。例如,我最终在geany上经常使用的两个自定义命令是g++ -Wall -o "%e" "%f" 'allegro-config --cflags --libs',可用于编译Allegro4程序或nvcc -arch=sm_20 -o "%e" *.o -lcudart 'pkg-config opencv --cflags --libs'来构建也使用OpenCV的CUDA应用程序。保存这些文件后,可以从下拉框中选择它们,也可以将其用作每个.CPP文件或与之关联的任何文件类型的功能键。我还发现它的打印格式和以语法突出显示为PDF的代码(使用Linux CUPS IIRC)对于处理类的程序文档非常有用。由于资源如此之少,我可以在便携式Linux上使用它,并且已经对其进行了自己的设置/配置,自此以后,我在每个项目上节省了无数的时间。要添加到现有项目中,只需制作一个新的.CPP文档或从文件管理器中打开一个现有文档,您就已经在工作,而不是配置,构建模板,手动添加库等。

评论


说明这如何很好地支持C ++。如果没有,那实际上不是答案。

–伊拉克·巴克斯特
14年2月19日在8:50

鉴于我如何使用它,我已经解释了它如何很好地支持C ++,并回答了OP的问题。

– ConfusedStack
15年3月19日在14:41

它如何处理重构? (OP:“至少重命名变量等。”)实际上这确实很难做到。如果Geany(您告诉我们)做到了,那么它如何做到“正确”呢?

–伊拉克·巴克斯特
15年3月19日在17:07

#8 楼

Visual Studio代码

这是一种适用于多种编程语言的灵活IDE,并通过许多插件很好地支持C ++。它于2015年发布,并得到了积极维护。请参阅来自Wikipedia的引用:


Visual Studio Code是Microsoft为Windows,Linux和macOS开发的源代码编辑器。它包括对调试,嵌入式
Git控件,语法突出显示,智能代码完成,
代码片段和代码重构的支持。它也是可自定义的,因此用户可以
更改编辑器的主题,键盘快捷键和首选项。它是免费且开源的,尽管官方下载已获得
专有许可。