适用于大型,多语言项目(即linux内核)的IDE


11

我知道“你们使用哪种IDE”问题已被问了一百万遍。但是我从未见过这种情况的要求。在处理包含多种语言和数千个文件的大型项目时,对IDE有何建议?

一个很好的例子是android源代码。内核不仅需要良好的C / C ++ IDE,而且Java和Shell脚本也需要。是否为此类项目构建了任何东西?

我通常使用的是KDevelop for C / C ++。我喜欢它,但是当将它用于大型项目(例如linux内核)时,它似乎会爆炸。而且它甚至对Java或python都没有做任何事情。

因此,我基本上是在寻找用于大型项目(包括linux内核本身)的IDE /设置(即vim +脚本)的建议。

编辑

我想我可能还不清楚。我并不是在寻找IDE本身。我真正感兴趣的是一个工具(工具集?),它使处理大型的,耦合的项目变得更加容易。例如。linux内核定义了许多宏功能。我希望能够在内核树中打开任何给定的源文件,并能够查看该宏的定义(无论是通过鼠标悬停还是通过vim扩展窗口,或其他方式)。


对于专门浏览Linux内核,LXR(在线Linux交叉引用)非常有帮助。对于Android,Eclipse是首选的IDE,因此作者花了一些精力使它能很好地工作。
吉尔(Gilles)“所以,别再邪恶了”,

1
Android是指Android Java应用程式开发吗?还是android kernel / NDK开发?
法尔马里2011年

@Falmarri-从我发现的情况来看,在Linux内核开发的特定情况下,Link +似乎很受欢迎:sourceforge.net/projects/linkplustest
Guy Avraham

Answers:


5

我建议您不要遵循任何IDE。让您的代码作为平面文件保留在文件系统中,并使用必须使用的独立工具(Emacs,GCC工具链,Ctags等)来实现必须实现的操作。这将使您的代码库独立于IDE,并且不会使其周围混乱(例如.project文件等)。


2
我想这是我的问题。我本身并不一定需要IDE(以及其所有功能)。但是我希望能够看到的是定义内核宏的位置,代码完成以及类似的事情。当项目开始使用编译时依赖项和条件定义到达成千上万个文件时,使用vim很难使事情变得简单。
Falmarri

1

我只能从经验谈起,所以它可能不包括您所规模的项目。我使用Code :: Blocks在C和C ++中进行开发。

但是,一般的想法是巧妙地使用gitvimctags等之类的东西,并使所有内容不受绑定到特定的IDE。诀窍是,不强迫开发人员使用特定的IDE。项目中的每个人都应该使用他们喜欢的任何开发技术和程序。

至于管理大量文件,请让文件系统完成。利用文件夹和描述性文件以及代码中的注释。


1

Eclipse可能是您的最佳选择。它具有可定制的,适用于所有操作系统的大量语言和技术的插件。减号使用Java,并且需要大量内存。


2
当将Eclipse用于大型项目时,它过于不可靠。Java开发人员坚持使用它,因为周围几乎没有其他选择。
polemon 2011年

您是否将它用于大型项目而没有麻烦?
tshepang 2011年

2
我在Eclipse中遇到的问题是插件的心态。许多(仍然是?)不兼容,并且大多数情况下用户界面不一致。每当您要进行“新”操作(例如编辑非Java文件)时,都必须下载并安装插件,这会使整个安装不稳定,并使其无法正常工作。
mattnz

1

我将Visual Slick Edit用于大型(数百万个SLOC),遗留的多语言,多平台,多开发环境。它既商业又昂贵(除非您考虑时间)。如果要进行认真的Java会话,我会切换到Eclipse,但是要获得有关Java,C / C ++,Ada,Python,Pearl,Scripts以及许多其他工具的快速修复/工具,这是我所知道的唯一可以做到这一点的工具,框。

如果不下载试用版,看看它是否对您有利,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.