3 alternativas gratis a GitHub Copilot

3 alternativas gratis a GitHub Copilot

GitHub Copilot es una inteligencia artificial para desarrolladores que brinda sugerencias de código al momento de programar o escribe lo que se desea realizar en lenguaje natural de manera muy detallada. Cuando GitHub Copilot sugiere, queda a discreción del usuario aceptar o rechazar el código para que genere una respuesta distinta o autocomplete en el editor.

GitHub Copilot fue creado por GitHub a mediados de 2021 y usa la tecnología de OpenAI Codex creada por OpenAI, quienes dieron vida a la muy conocida y exitosa, ChatGPT. Si bien es funcional en español, lo ideal es usarla en inglés.

Además de lo anterior, es interesante saber que la manera en la que se entrena esta inteligencia artificial para que muestre código de calidad es mediante los repositorios públicos de los usuarios en GitHub, por lo que la calidad de sugerencias estará limitada directamente según la diversidad de repositorios que encuentre, es decir, que habrá mejores sugerencias en calidad y cantidad para los lenguajes con más comunidad.

No obstante, GitHub Copilot no te da código creado en GitHub, algo totalmente nuevo a partir de lo que lleva desarrollado. GitHub Copilot está disponible para el IDE de JetBrains, también como extensión en Neovim, Visual Studio Code (VSC) y Visual Studio.

Existen dos versiones: la individual y la empresarial, que valen $10 y $19 mensuales, respectivamente. Existe una prueba gratuita, así que si deseas más información, te invito a visitar la página oficial.

En este artículo te mostraré 3 herramientas con funcionalidades similares a GitHub Copilot, aunque gratuitas en su uso (o al menos con una parte gratis con funcionalidades aceptables.  Aquí mostraré su instalación y su uso en VSC.


1. Tabnine

Es una librería que ayuda en el desarrollo de software. Usa inteligencia artificial entrenada a partir de repositorios públicos de GitHub, al tiempo que siempre está en constante aprendizaje con el código de sus usuarios, por lo que se basa  en ese aprendizaje para mostrar las sugerencias. Además, puede entender el lenguaje natural al igual que GitHub Copilot, así que los comentarios en el código también suman en la inteligencia artificial. Tabnine usa Deep Learning para el entrenamiento de su modelo.

Es con VSC, Visual Studio, Sublime Text, IntelliJ, PyCharm, WebStorm, Android Studio, GoLand, Emacs, Vim, Neovim, PhpStorm, etc. Asimismo, puede usarse en lenguajes como Angular, C, C++, C#, CSS, HTML, JavaScript, React, Sass y Typescript, entre otros.

Si bien no es del todo gratuita, Tabnine será suficiente para códigos cortos. Si deseas más información sobre esta extensión, te invito a visitar la página oficial.

Instalación y uso

Paso 1: Abre el editor de código VSC.

Paso 2: En la barra lateral izquierda, en la sección de extensiones, al darle clic se abrirá un menú donde se debe escribir: Tabnine AI.

Paso 3: Selecciona la primera opción y selecciona instalar:

Paso 4: Prueba la inteligencia artificial.

En un comentario en inglés, se debe escribir de manera clara y corta lo que quieres realizar, por ejemplo, una función que obtenga la raíz cuadrada de un número.

Si deseas una sugerencia mientras escribes, Tabnine te podrá ayudar. Comienza escribiendo tu idea y te dará código:


2. CodeGeeX

Este es un proyecto Open Source desarrollado por Huawei, lo que significa que es gratis y que podemos encontrar disponible su repositorio, el cual podemos ver acá desde febrero de 2023. CodeGeeX está preentrenado en 20 lenguajes, entre los que figuran Python, Java, C++ y JavaScript, entre otros. Al estar disponible en GitHub, se puede descargar el repositorio o una extensión para su uso.

CodeGeeX es un modelo basado en transformadores, así como un descodificador autorregresivo que puede comprender lenguaje natural y código para saber las sugerencias que puede ofrecer.

Está disponible como extensión en VSC y en IDEs de Jetbrains. Si deseas más información, te invito a visitar su página oficial.

Instalación y uso

Los pasos son iguales al proceso anterior hasta el paso 3, donde en la búsqueda será CodeGeeX, donde veremos algo así:

Paso 1: Realizaremos las mismas pruebas hechas con Tabnine.

Podemos observar que, al momento de escribir un comentario claro, nos muestra una sugerencia con comentarios, explicando cómo lo realiza.

Al momento de escribir código, también nos muestra la sugerencia con comentarios sobre su funcionamiento:


3. CodeGPT

La muy conocida inteligencia artificial ChatGPT no se queda atrás en su ayuda a los desarrolladores, puesto que es una poderosa herramienta al momento de programar. CodeGPT es  gratis, y al igual que las anteriores propuestas, puede brindar sugerencias de código, entender lenguaje natural y código de distintos lenguajes de programación y explicar el código como lo hace CodeGeeX.

La diferencia está en que CodeGPT va a otro nivel porque, al hacer clic derecho, ofrece estas opciones:

Refactor CodeGTP: Refactorizar código.

Document CodeGPT: Documentar el código.

unit test codeGPT: Crear Pruebas Unitarias.

Compile & Run CodeGPT: Simulación de compilación.

Find Problems CodeGPT: Encontrar problemas en nuestro código o en la sugerencia.

La gran desventaja de esto es que, para obtener estas opciones. Necesitamos conexión a internet. Y debemos tener en cuenta que, en la plataforma de Open AI, debemos agregar una clave secreta para hacerla funcionar. Por otro lado, tenemos una interfaz más amigable, puesto que, es como un chatbot donde se ingresan los comentarios.

¿Cómo crear una clave secreta?

Paso 1: Ingresar a la plataforma oficial aquí.

Paso 2: Al entrar a la plataforma te pedirá un usuario, el cual puede ser creado vinculando una cuenta de Google, Microsoft o Apple.

Paso 3: En la vista principal, dar clic en la cuenta, que se visualiza en la esquina derecha. Al desplegarse un menú, selecciona la opción view API keys.

Paso 4: Seleccionar en la opción de Create new secret key.

Paso 5: Si los deseas, añade un nombre. De lo contrario, da clic en el botón create secret key.

Paso 6: Copiar la clave que se generó, luego dar clic en el botón Done.

👉 En este caso, la clase es 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.

Ahora se puede ver que ya está una clave generada:

Ahora que ya tenemos lista la clave secreta, podemos instalar la extensión en Visual Studio Code siguiendo los pasos 1 y 2 de las anteriores alternativas mencionadas, retomando el paso 3 en la búsqueda.

Paso 3: Escribir Code GPT y seleccionar la primera opción. Se verá así:

Paso 4: Entramos en las configuraciones y buscamos las extensiones. Dentro de ellas, seleccionamos la de Code GTP:

Para entrar a las configuraciones, puedes presionar ctrl + , en la parte inferior izquierda, en el segundo ícono (en este caso un engranaje), dar clic y seleccionar configuraciones o settings:

Con eso vemos las configuraciones. En el menú de la izquierda, selecciona la última opción llamada extensiones o extensions, dependiendo del idioma de VSC.

Paso 5: Acá puedes configurar la extensión como desees. La primera opción es la que nos importa en estos momentos:

Presiona Cmd + Shift + p para desplegar el buscador o bien en la parte inferior izquierda donde se escogieron las configuraciones. Ahora selecciona la paleta de comandos.

Paso 6: Escribe en el buscador set API Key y selecciona esa opción:

Paso 7: Inserta la clave que copiamos anteriormente, seguida de Enter.

En la parte inferior derecha saldrá esta notificación, validando que se guardó la clave.

Paso 8: En la parte izquierda veremos un nuevo ícono: Code GPT. En la parte inferior, escribimos en inglés lo que deseamos crear, aunque acepta español sin problemas, por ejemplo:

Ejemplo de una petición en español:


Paso 9: Copiamos manualmente la función en un archivo JavaScript o bien dando clic en el icono que aparece a la orilla de la palabra JavaScript.

Podemos ver que, además del código, nos da una breve explicación del código generado:

Ahora probaremos las opciones que nos permite usar Code GPT, además de las sugerencias de código, seleccionando el fragmento de código que se desee. En este caso, seleccionaremos la función console.log, quedando así:

function squareRoot(num) {

return Math.sqrt(num);

}

console.log(squareRoot(2));

Las opciones que probaremos serán las encerradas en el cuadro:

👉 Compile & Run CodeGPT: Se observa que, a la izquierda, nos muestra la explicación y la salida del código:

👉 Explain CodeGPT: Se observa que en donde tenemos el chat de CodeGP, nos generó la explicación del código.

👉 Refactor CodeGPT: Muestra una manera distinta de hacer la misma función.

👉 Document CodeGPT: Da una explicación de su funcionamiento, mismo que podemos copiar en un readme.md o en el propio código.

👉 Find Error: Si hay un error, nos dice dónde y cómo solucionarlo. De lo contrario, si está bien, ofrece sugerencias para mejorar el código.

⚠️ Aunque todas estas opciones parecen gratis, lo cierto es que lo son de manera limitada. La parte positiva es que no es un precio estándar, sino uno basado en lo que se usa. De igual manera, la parte gratuita es amplia y los precios son muy favorables. Si deseas ver más información sobre los precios, te invito a visitar su página oficial.


Conclusión

Es impresionante presenciar este gran avance de la tecnología: cómo las inteligencias artificiales se usan en nuestro beneficio.

Debemos tener claro que este avance no es para reemplazar los desarrolladores, sino para ser más eficientes al realizar tareas repetitivas más rápido con la ayuda de estas herramientas y centrarnos en la parte lógica que nos interesa.

Espero que esta información sea de gran ayuda. Si recién te adentras en el mundo del desarrollo, te recomiendo que no uses aún estas herramientas, ya que es fundamental que domines primero el lenguaje. Por el contrario, si ya llevas tiempo en este maravilloso y complicado mundo, vale la pena que des un vistazo a estas tres opciones, pues son muy populares y sí ayudan en bloque de códigos repetitivos.

Recuerda siempre practicar para ser el/la dev que siempre soñaste 💻.

¡Hasta la próxima! 🚀

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.