您当前的位置:首页 > 互联网教程

如何评价 JetBrains 的新 CC++ IDE CLion

发布时间:2025-05-21 15:37:48    发布人:远客网络

如何评价 JetBrains 的新 CC++ IDE CLion

一、如何评价 JetBrains 的新 C/C++ IDE CLion

非常好的智能感知功能,自动折叠、高亮、自动补全、类型推断都很好。

重构很方便,像inline函数、extract成员函数、常数,pull up/pull down、修改签名这些功能都有。

调试功能很方便,可以自动解析STL容器。

继承了jetbrains系ide的很多优点,像方便的vim插件和keymap调整,滚动条预览,与VCS的紧密集成等等。

跨平台,支持CMake/gcc/clang/mingw/cygwin/gdb。虽然不多,但是其实基本上也够用了。

简洁,没有额外的抽象层,你直接通过控制CMakeLists/CMakeCache来控制项目的编译。这样无需额外学习一遍IDE项目相关的概念,而且省去了VS+CMake时每改一次CMakeLists就要generate一次solution的麻烦。

很快,当然我也没有导入很大很大的项目,不知道结局是什么样。

当然,今天的CLion还有很多缺点,比如说一以贯之的吃内存(随便打开个项目吃掉1G很正常)、比如说还不支持lldb、不支持远程开发调试、不支持makefile/autotools项目、没有测试框架支持。最大的问题就是,在处理大项目的时候,CLion的性能能跟得上吗?

不考虑这些因素,CLion是一个很好用的ide。设计合理简洁、核心功能完成的很出色。而像我开篇就说的,能满足这个条件的C/C++ IDE几乎没有。在使用开源工具链的场景下,CLion是第一个让我有理由考虑代替vim的C/C++ IDE.

而这只是一个1.0版本,考虑到JetBrains的一贯水准,CLion的未来值得期待。

二、JetBrains又出神器啦!Fleet,体验飞一般的感觉

简介

java开发的同学可能对于JetBrains这家公司并不陌生,因为JetBrains号称拥有世界上最好的JAVA开发工具IDEA。确实IDEA非常好用,它满足了一个java开发者所有的梦想。

java开发的同学可能对于JetBrains这家公司并不陌生,因为JetBrains号称拥有世界上最好的JAVA开发工具IDEA。确实IDEA非常好用,它满足了一个java开发者所有的梦想。

当然JetBrains还提供了其他语言的开发神器,PyCharm,PhpStrom,WebStorm等等。只要跟开发工作有关的,都能在JetBrains的全家桶中找到。

这么好用的神器自然是价格不菲,但是JetBrains特意为学生党推出了免费的licence版本,非常的人性化。

现在JetBrains又准备推出一款编辑器Fleet,这款编辑器到底是做什么的呢?它有什么优点呢?一起来看看吧。

还记得最开始接触java的时候,还是从JAVA的命令行开始的。编写完代码之后,首先用javac命令将代码编译成字节码,然后再使用java命令去运行。虽然java是世界上第二好用的语言,但是这种手动编译运行的方式实在让人头痛。

后来有一天,听同学介绍,发现了eclipse这个工具。当时实在是惊为天人!它是如此的强大,颠覆了我对IDE的认知。

当然,我始终认为IDE做的最好的是微软出的Visual Studio,简直是包罗万象,可惜那时候Visual Studio只支持微软自己的C#和.net平台,无奈只好放弃。

eclipse又好用又免费,加上品类繁多的各种插件,DIY一个符合自己口味的IDE不在话下。

所以那时候在开发之余的另外一个爱好就是反复安装eclipse的各种插件,体验不一样的乐趣。

后来在工作中,一开始也是使用eclipse,不过eclipse作为一个纯开源项目,也暴露出来了它的短板,就是第三方插件比较混乱,在使用中往往有这样那样的bug。

然后有同事给安利了IDEA,说实话最开始的IDEA是很丑的,并且IDEA对项目的组织方式更加松散,更像是对一个个文件的管理而不是项目,所以我仍然坚持使用eclipse。

那么,是什么让我产生了从eclipse到IDEA的转换呢?

记得,那是一个夏天,天还还很蓝。我像往常一样点进eclipse的官网,看一下是否有最新的版本可以升级。

本来没报什么希望,结果还真的有,这个版本就是eclipse che,居然是一个web版的开发工具,号称是下一代eclipse。

难道eclipse以后就只能在web端使用了吗?浏览器的体验有没有本地开发工具这样丝滑呢?

虽然我很担心,但是抱着试一试的态度,还是按照官方的文档,尝试安装eclipse che。

安装过程很痛苦,使用过程更加痛苦。不知道是我机子系统的问题还是它的文档没有写明白,我硬是没有能够用eclipse che来开发一个项目。

eclipse che本意是将开发环境搬到云上,奈何那时候的技术和思想有点太超前了,于是成功把我劝退了。

接下来就从eclipse切换到IDEA,进行了多年的开发。后面再也没有去关注过eclipse和eclipse che的发展。

在写这篇文章的时候,我特意去看了下,原来Eclipse本地的IDE还在,它的最新版本是2021?12,eclipse che也发展到了7.0版本,并且开始支持Kubernetes-Native。

既然eclipse已经过去了,我们再聊一下IDEA。

说实话,作为一款付费的软件,IDEA在使用上的确比eclipse强。最好用的java开发IDE不是白吹的。

当然,为了支持IDEA这么强大的特性,就需要占用大量的系统内存。IDEA动不动就1G-2G完全不成问题。

那么有没有轻量级的开发工具呢?当然有。

所谓开发工具,就是支持代码高亮,编译代码这些功能的工具,记事本之类的这里就不提了。

那时候有两个工具可以使用,一个是atom,一个是微软的vs code。

两者都是轻量级的开发工具,都支持插件的扩展。我也都用了,最后还是选择了微软的vs code。虽然没有具体进行比较,但是感觉微软的更加稳定,功能性方面更好。

既然已经有了微软vscode这样的强大又简洁的轻量级开发工具,那么Fleet凭什么认为大家会选择它呢?

这是一个好问题。我们细细道来。

Fleet最大的优势就是背靠jetbrains这颗大树,有了IDEA等一众开发工具的加持,大家很难不相信Fleet的品质。

换用jetbrains的话来说,他们花了20年的知识和经验来编写开发工具,并且Fleet底层使用的是IntelliJ的代码处理引擎,所以Fleet是足够可信的。

当然,有了保证还是不够的,我们需要知道Fleet到底有那些特性。

先看下Fleet的主界面。非常的简洁漂亮。自带了git和history。

Fleet支持自动完成,重构,跳转,debug等所有IDE应该支持的特性。

目前Fleet支持的语言有JAVA,kotlin,python,go,javaScript,Rust,TypeScript和JSON。其他的语言如PHP,C++,C#,HTML正在开发中。

看到这里,我们可能还有疑问,这些特性好像其他的轻量级IDE都有呀,那么Fleet的特色在哪里呢?

Fleet的架构是分布式的,Fleet并不关心您的项目是在本地、在容器中还是在千里之外的另一个国家。通过提供虚拟化文件系统,Fleet可以同样出色地处理本地和远程项目。

Fleet有三种工作模式,分别是Editor mode,Smart mode,Distributed mode.

对于editor mode来说,一切都是本地的,所以它提供的功能和特性比较有限:

在Smart mode中,可以提供一些高级的特性,比如项目和上下文感知代码完成、定义和用法的导航、动态代码质量检查和快速修复等。这些特性不是一个轻量级的Fleet能够完成的,所以需要额外的Language Servers和Code engine来处理,如下图所示:

什么叫做Distributed mode呢?就是把这些Language Servers和Code engine统一放到云上或者docker容器中,本地的Fleet只作为客户端和远程服务器进行连接即可:

这样的分布式也同时可以实现多用户协同合作的功能。

个人感觉,Fleet可能是eclipse che的高级版本。敬请期待。

另外,jetBrains还把Fleet和JetBrains Space进行结合。

你可以把JetBrains Space看做是一个远程的工作环境,可以免去了本地搭建工作环境的烦恼。

Fleet这么好用,那么怎么下载呢?很抱歉,Fleet暂时无法下载,你必须到Fleet的官网上去申请,听说名额有限,赶紧行动起来吧。

三、有哪些值得推荐的 Python 开发工具

1、第一种:PTVS,一个在github上的开源项目

2、PTVS在 IronPython Tools for Visual

3、Studio的代码基础上进行了增强并添加了对Cython、集群的支持,以及诸如Numpy和Scipy这样的新模块。

4、第二种:Eclipse,跨平台的自由集成开发环境

5、主要用来Java语言开发,但也可以通过插件使其成为其他计算机编程语言的开发工具,比如Python、C++等。

6、Eclipse最初是由IBM公司开发的替代商业软件Visual Age for

7、java的下一代IDE开发环境,2001年贡献给开源社区,由非营利软件供应商联盟Eclipse基金会管理。

8、第三种:PyCharm,由JetBrains打造的一款Python IDE

9、PyCharm是一种Python IDE(Integrated Development

10、Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

11、第四种:IPython,是一个交互式计算系统

12、IPython是Python的原生交互式shell的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算;主要使用它提供的交互性帮助,比如代码着色、改进了命令行回调、制表符完成、宏功能以及改进了交互式帮助。

13、第五种:Eric5,一个集成了项目管理功能的 Python集成开发环境

14、Eric5提供无限制数量的编辑器、集成的Python shell、集成调试器、集成对包括 Subversion和

15、Mercurial版本控制系统的支持,集成单元测试等。