viernes, 6 de noviembre de 2020

Como Probar programas en java dentro del editor sublime, compilar y ejecutar Java desde Sublime

Como Probar programas en java  dentro del editor sublime, compilar y ejecutar Java desde Sublime


Sublime es un poderoso editor de  texto con el que podemos crear y editar cualquier programa de cualquier lenguaje, personalizarlo a nuestro gusto para cada uno de ellos de tal manera que podemos estar editando varios lenguajes diferentes al mismo tiempo sin salirnos del programa y tener ayudas en la codificación y la escritura de los diferentes código, todo en un solo editor.

Por supuesto java no se le iba a escapar y a continuación veremos que debemos hacer para que nuestro editor favorito compile y ejecute nuestra aplicación, sin tener que salirnos de sublime.

Actualmente la versión Sublime Text2, ya tiene un compilador de java cuya única utilidad es compilar el programa o aplicación y solo nos dice si hay errores o no. Para mi gusto esto deja una sensación de que falta algo adicional, ya que yo suelo usar mucho System.out.println("xxxx"); para que mi indique algún valor determinado y mensaje en alguna parte del programa.

Como puedo hacer que además de compilar ejecute el código?

 Para esto debemos insertar las rutinas de llamadas de compilación y ejecución de java en el sistema de construcción del programa (Build System) en las herramientas(Tools).

Buscamos Tools en la barra de tareas superior de sublime, ponemos el cursor sobre Build System y pulsamos con el botón izquierdo del ratón sobre New Build System. Nota: si hemos sido curioso, veremos que entre la opciones que están por encima de New Build System  vemos que está JavaC, que es el compilador comentado antes.


Eso provocará que el sublime nos muestre la siguiente pantalla:
 


A continuación vamos sustituir el código que se nos muestra en la imagen anterior,  por el siguiente que simplemente es un objeto creado basado en  JSON

{
     "cmd": ["javac ${file_name} && java ${file_base_name}"] ,
     "shell": true
}



A continuación vamos a guardarlo buscando en la barra de tareas la opción File y luego Save As...


Lo anterior nos trae la siguiente pantalla, donde vemos que se nos sugiere poner el nombre untitled.sublime-build, y que el mismo va a ser guardado en un directorio sugerido por sublime. OJO:Dejaremos la extensión del archivo y el directorio sugeridos por sublime, sin cambiarlos.


Solo modificamos la parte del nombre resaltada en color naranja, y escribimos el nombre que deseemos que debe ser algo que nos indique que es el compilador y el ejecutor del aplicaciones java. Por ejemplo:

javacompile_and_run

Algo que nos recuerde que hace el comando de sublime que hemos creado.



Pulsamos Guardar, y con esto ya hemos terminado de implementar nuestro nuestra opción compilación y ejecución de java dentro de sublime.

Solo resta probar que todo esté correctamente y para ello vamos a probar un programa sencillo que nos muestre por la consola de salida, algunas líneas.

Vamos a File en la barra de tareas y escogemos lo que deseemos New File o la opción Open File..., y pulsamos sobre ella, para abrir nuestro archivo. En mi caso abriré un archivo que ya tengo para probar.
 

Buscamos en donde se encuentra el archivo, lo seleccionamos y lo abrimos.


Una vez abierto tendrán algo parecido a lo siguiente, que lo coloco aquí, para que si lo desean. escriban un programa nuevo con el mismo contenido o similar para probar.



Para compilar y ejecutar este código solo habría que pulsar la tecla Ctrl dejarla pulsada y pulsar la tecla b. Esto lanzaría la compilación y luego ejecutaría el programa, pero solo si antes hubiéramos estado programando en Java y hubiéramos cambiado el Build System en Tools de la de barra de tareas.

Como yo he estado programando en JavaScript, tengo el compilador de ese lenguaje marcado y eso nos dará un error si intentamos usarlo con java, veamos de que estamos hablando:



Si aquí pulsamos Ctrl + b , lo que tendremos es lo siguiente:


Un error que no nos suena para nada, y nos podríamos volver locos buscando cual es el problema.

Por eso es importante tener un programa que previamente estuviera ya probado, por ejemplo en NetBeans o Eclipse, o directamente compilado y ejecutado desde una consola CMD en Windows o en el terminal en Linux, porque con esto descartamos un problema de código y ya sabremos que el problema es que hay algo mal  en el Build System de Sublime.

En este caso la causa ya la sabemos, vamos ahora a cambiar el Build System a la nueva opción que fue creada por nosotros como vemos en la siguiente imagen:


Y ahora volvemos a y probar pulsando de nuevo Ctrl + b , y........


Vemos que nuestra opción añadida para compilar y ejecutar funciona, lo cual nos permite usar sublime de forma más funcional.

Ya en adelante no tendríamos que ir a Build System cambiar de compilador ya que el nuestro esta marcado, hasta que quisiéramos compilar un programa en otro lenguaje.

Aquí debemos hacer una aclaración, y es que aquellas aplicaciones que usen la consola como entrada de datos no funcionan bajo sublime.


Veamos un ejemplo:

Supongamos que deseamos saber si un archivo existe y que pedimos el nombre del mismo desde una consola o terminal usando Scanner como se indica en la imagen de abajo:
 

El error de excepción es que  el ejecutor de Java detecta que la consola de Sublime no es realmente una consola válida del sistema operativo, para poder ingresar datos por la misma.

En este caso tenemos que hacer un cambio mas general y crear otro Build System que nos permita realizar esa tarea, pero normalmente no programamos aplicaciones Java para ingresar datos por consola, mas bien todo lo contrario.

Sin embargo en este enlace, se muestra como hacer que sublime utilice la consola del sistema operativo, para realizar las pruebas necesarias, para probar el código que se ha programado.


Como crear una consola para que sublime ejecute programas que necesiten entrar datos por consola

En el anterior anterior enlace se trata de como hacerlo con un sistema operativo Linux

Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

No hay comentarios:

Publicar un comentario

Tu comentario puede ser muy útil, asi que no dudes en dejar el tuyo.
Si es relacionado con algún problema, error. etc. trata de ser muy explicito, y detallar el problema y las circunstancias en las que se produjeron. Si lanza algún error trata de copiarlo y pegarlo junto con una descripción del problema, ya que a veces los errores del sistema no son en realidad la causa del problema.

Vistas de página en total