Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于多语言编程的IDE_Java_C_Perl_Ide_Polyglot - Fatal编程技术网

Java 用于多语言编程的IDE

Java 用于多语言编程的IDE,java,c,perl,ide,polyglot,Java,C,Perl,Ide,Polyglot,我正在用Java、C、Perl和Bash(还有一点python)进行一个项目,所有这些都可以一起工作(主要是通过RESTfull接口),我正在寻找一个适合多语言编程的IDE 我可以使用具有以下功能的IDE: 跳转到定义 呼叫层次结构 语法突出显示 至少跨以下语言: 爪哇 C Perl 都来自同一个项目 附言:我不太关心这个项目的建设 pps:重要的是,上下文切换时间应尽可能短,搜索可以跨语言进行,调用层次结构和跳转到定义在所有可见代码中始终有效。不同的编辑对“项目”有不同的概念,只要符合

我正在用Java、C、Perl和Bash(还有一点python)进行一个项目,所有这些都可以一起工作(主要是通过RESTfull接口),我正在寻找一个适合多语言编程的IDE

我可以使用具有以下功能的IDE:

  • 跳转到定义
  • 呼叫层次结构
  • 语法突出显示
至少跨以下语言:

  • 爪哇
  • C
  • Perl
都来自同一个项目

附言:我不太关心这个项目的建设


pps:重要的是,上下文切换时间应尽可能短,搜索可以跨语言进行,调用层次结构和跳转到定义在所有可见代码中始终有效。不同的编辑对“项目”有不同的概念,只要符合这些标准,我就不关心这个问题

我使用。它满足除调用层次结构之外的所有需求。

Eclipse完全支持Java和C。还有一个第三方Perl插件,名为。它仍处于测试阶段,但可能足以满足您的需求


如何在Eclipse中创建一个可以在同一个项目中索引java和C代码的项目

这个问题或多或少地解决了这个问题:

基本上,打开
.project
文件并添加必要的生成器和属性


另一种选择是将您的工作拆分为单独的Eclipse项目。所有的索引工作都应该在一个工作区中的多个项目中正常工作。

如果您使用*nix,我会选择emacs或xemacs,使用适当的扩展,它们可以做您想要的一切。在windows上,它们不是很好,但仍然很有用。

看看带有的Emacs

以下是一些功能:

  • 目录树
  • 当前目录中的源文件列表(带有 全面支持和展示 VC州)
  • 函数/类/方法的列表/。。。在当前文件中,(ECB使用CEDET语义或Imenu或etags获取此列表,因此ECB也自动支持这些工具支持的所有语言)
  • 最近访问的文件的历史记录(可按多个文件分组) 标准)
  • 语义分析器的直接和自动更新ecb窗口 从某种意义上讲
  • 速度栏和
  • 编译输出( 编译窗口)和其他模式 比如帮助,grep等等,或者其他什么 用户定义要在该窗口中显示的内容 窗户



再加上适当的语言编辑模式(适用于您所需的语言,很可能都是默认安装的Emacs:,和),我认为这可能是一个不错的选择。

如果您正在考虑商业产品,那么请看一下Intellij idea 9

你没有指定你正在使用的操作系统。我想notapad++不算数……我可以使用任何适合IDE的操作系统。在一个项目中编辑多种语言是最重要的。其他一切都可以商量。为什么只有一个项目?或者,如果不是单个项目,你真的需要跨项目导航的能力吗?我将编辑以解释动机。如何在Eclipse中创建一个项目,可以在同一个项目中索引java和C代码?@Arthur你不必为所有内容创建一个项目。例如,您可以创建一个依赖于C项目的Java项目——全部在一个工作区中。只要构建工件存放正确,Yeclipse似乎不想创建指向同一源的多个项目。所以我不能像这样创建“每种语言一个项目1)你不必组织你的项目,让它们只使用一个源代码树。2) 如果您不准备重新组织源代码目录。。。尝试构建器/自然方法。什么扩展可以跳转到定义和调用层次结构?这些功能适用于哪些语言?
M-。
M-x find tag
将跳转到定义功能。stock emacs似乎无法做到这一点。见上文欧洲央行的答案。ECB似乎得到了2/3(这仍然不是一个真正的解决方案)CEDET/语义方面比代码浏览器IMO重要得多。对我来说,最重要的是智能自动完成,跳转到定义/文件,并使用yasnippet粘贴代码“片段”。但是是的,Emacs非常棒。它会打印一个函数调用树吗?我找不到任何内置的东西,没有。但是,我使用。对我来说很有用,但这可能比你最初想要的更“黑客化”,其他帖子和评论中充斥着各种biz speak智能。一旦安装了简单的调用树,你如何获得一个调用树?简单的调用树可以索引项目中的所有文件吗?我正在考虑任何操作系统上可以消除这种痛苦的东西。