Crear un IDE no es difícil, pero es complejo e implica el desarrollo de diferentes componentes, herramientas y utilidades. Un IDE se divide en partes más pequeñas para un fácil desarrollo, mantenimiento e integración.
Un desglose típico de tales componentes sería:
- Interfaz de usuario
- Editor de código
- Archivos de proyecto / libs / gestión de activos
- Utilidades auxiliares
- Integración del compilador
- Capacidades de depuración
Interfaz de usuario: el componente fácil y grande. Esto define y organiza otros componentes más pequeños que son útiles para un programador mientras escribe el código. Los componentes, como la caja de herramientas, la ventana de propiedades, el explorador de libs / objetos, el menú, etc., deben colocarse de manera lógica y estratégica para facilitar la escritura del código. Esto también incluye la colocación del editor de código, con pestañas o redimensionable, etc. y creo que este es el componente principal que decidirá qué tan fácil es su IDE.
- Si quiero ser un buen desarrollador web, ¿cuál es la secuencia correcta para aprender lenguajes de programación?
- Estoy aprendiendo html, css, JS y quiero entrar en el lado del servidor. ¿Qué debo aprender a continuación / hacer en el proyecto para que pueda emplearse en un futuro próximo?
- Empecé a aprender XHTML sobre HTML 5. ¿Es una mala decisión?
- Estoy planeando iniciar un sitio web, algo como ScoopWhoop / BuzzFeed. ¿Cuáles son algunas sugerencias útiles?
- ¿Estoy siendo estúpido al elegir MySQL para mi aplicación Node.js en 2016?
Editor de código: el componente más importante y complejo. Las tareas básicas incluyen resaltado de sintaxis, sugerencia y finalización de código, organización del código (plegado / desplegado, región, etc.), navegación (como “mostrar definición”), capacidades de refactorización, carga y manejo eficiente de archivos muy grandes, etc. 95% de un el tiempo del programador se gasta en este componente, por lo que su enfoque principal debe estar en esto.
Gestión de archivos / bibliotecas / activos del proyecto: Esto permite que un programador administre archivos relacionados con el proyecto, bibliotecas externas / de terceros, activos, etc. Las funcionalidades básicas incluyen agregar, eliminar archivos, asociar o vincular con otro proyecto o biblioteca y a menudo se ve como un pequeño Explorador de archivos con estructura de árbol.
Integración del compilador: no desea crear un compilador completamente nuevo para su IDE, sino que utilizaría el compilador existente al integrarlo con su IDE para compilar y compilar código. Invoca el compilador, pasa los argumentos requeridos, lee o captura el resultado / salida y luego lo presenta al usuario.
Las características presentadas anteriormente son muy mínimas para un IDE. Puede tener varias otras funciones en su IDE, como la integración con el sistema de control de versiones, el sistema de gestión de proyectos, etc.