2010-08-13 14 views
16

Estoy trabajando en Java, C, Perl y Bash (y un pequeño pitón) en un proyecto que funcionan todos juntos (principalmente a través de interfaces RESTfull) y estoy buscando un IDE a la programación de Polyglot?IDE (s) para la programación de Polyglot

Qué IDE puedo usar que cuenta con:

  • salto a la definición
  • jerarquía de llamadas
  • resaltado de sintaxis

través de al menos idiomas siguientes:

  • Java
  • C
  • Perl

todo desde dentro del mismo proyecto?

pd: no estoy demasiado preocupado con la construcción del proyecto.

pps: Es importante que el tiempo de cambio de contexto sea mínimo, las búsquedas puedan cruzar idiomas, y que la jerarquía de llamadas y el salto a la definición funcionen en todo el código visible todo el tiempo. Los diferentes editores tienen diferentes conceptos de "proyecto" y no estoy preocupado por eso siempre y cuando se cumplan estos criterios.

+1

No especificó qué sistema operativo está utilizando. – Ether

+0

Supongo que notapad ++ no cuenta ... –

+0

Puedo usar cualquier sistema operativo que se adapte al IDE. La edición de varios idiomas en un proyecto es lo más importante. todo lo demás es negociable –

Respuesta

0

Yo uso BBEdit. Cumple todos sus requisitos excepto la jerarquía de llamadas.

6

Java y C son totalmente compatibles con Eclipse. También hay un complemento de terceros para Perl llamado EPIC. Todavía está en beta, pero puede ser suficiente para satisfacer sus necesidades.

Cómo se crea un proyecto en Eclipse que puede indexar Java y el código C en el mismo proyecto?

Esta pregunta más o menos aborda el problema: How to change an Eclipse default project into a Java project

Básicamente, abra el archivo .project y añadir los constructores necesarios y naturalezas.

Otra alternativa es dividir su trabajo en proyectos de Eclipse separados. Todos los elementos de indexación deberían funcionar bien en varios proyectos en un espacio de trabajo.

+0

Cómo se crea un proyecto en Eclipse que puede indexar Java y el código C en el mismo proyecto? –

+0

@Arthur No tiene que crear un proyecto para todo. Puede crear, por ejemplo, un proyecto Java que dependa del proyecto C, todo en un espacio de trabajo. Siempre que los artefactos de construcción depositados correctamente –

+0

eclipse parece que no desea crear proyectos múltiples apuntando a la misma fuente. así que no puedo crear "un proyecto por el lenguaje" como esto –

1

Si estás trabajando en * nix, yo iría con emacs o xemacs, con las extensiones adecuadas harán todo lo que quieras. En las ventanas no son tan buenas, pero aún son bastante utilizables.

+0

¿qué extensión da jump-to-definition y call-hierarchy? –

+0

¿para qué idiomas están disponibles estas funciones? –

+0

'M-.'o' M-x find-tag' dará el salto a la funcionalidad de definición. – msandiford

4

Eche un vistazo a Emacs con el Emacs Code Browser.

Estas son algunas de las características:

  • Un árbol de directorios,
  • una lista de archivos de origen en el directorio actual (con pleno apoyo y la visualización de la CV-estado ),
  • una lista de funciones/clases/métodos/... en la imagen actual, (BCE utiliza los etags CEDET-semántica, o Imenu, o, para obtener esta lista para todos los idiomas soportados por cualquiera de estas herramientas son compatibles automáticamente por BCE también)
  • una historia de r ecientemente archivos visitó (agrupables por varios criterios),
  • una BCE-ventana directa y automáticamente actualizado para la semántica-analizador de por alguna intelisense,
  • el acelerador y
  • salida de compilación (la ventana compilación) y otros modos como ayuda, etc. grep o lo que sea un usuario define que se mostrará en esta ventana .

alt text http://psilva.ath.cx/Screenshot.jpg

Junto con los modos apropiados de edición de lenguaje (que existen para sus idiomas requeridos, más probable es que todos los instalados por defecto con Emacs: cperl, jde y cc-mode), creo que esto podría ser una buena opción .

+1

El lado CEDET/Semántico es mucho más importante que el navegador de códigos, IMO. Para mí, lo más importante es la finalización automática _smart_, saltando a definiciones/archivos, y pegando en código 'fragmentos' con yasnippet. Pero sí, Emacs rocas. – Jyaan

+0

¿Imprimirá un árbol de llamadas a la función? –

+0

No pude encontrar nada incorporado, no. Sin embargo, uso [simple-call-tree.el] (http://www.emacswiki.org/emacs/simple-call-tree.el). Funciona muy bien para mis usos, pero esto podría ser más 'hackish' de lo que originalmente querías, con todas las cosas de biz-speak * intelli * flotando en las otras publicaciones y comentarios. –

2

si está considerando productos comerciales, eche un vistazo a la idea de Intellij 9.

+0

Estoy considerando cualquier cosa en cualquier sistema operativo que hace que este dolor desaparezca. –

Cuestiones relacionadas