Hola amigos!
Hace un monton que no escribo por aqui, pero esto es TAN IMPRESIONANTE que pense que debia compartirlo con el foro del que tanto aprendi.
Lo basico y para no alargarme,
para poder compilar y programar desde VScode es necesario crear unas "tareas". Pero una vez creadas todo corre como la seda.
Y lo mas importante puedes usar IA en tu codigo, directamenten sin necesidad de escribir, copiar y pegar desde el navegador.
Tengo que decir que ES ALUCINANTE, tiene 3 funciones que realmente le sacan partido y te hacen programar mucho mas rapido y mejor:
- Autocompletar: simplemente por el contexto, es capaz de predecir con bastante fiabilidad lo que quieres hacer. Es capaz de autocompletarte pequeñas lineas de codigo, los comentarios, o incluso funciones enteras. Parece que puede leerte la mente, solo esto es un avance brutal.
- Chat: puedes chatear como si estuvieras en el navegador, pero directamente dentro de tu IDE. Lo mejor es que puedes darle "contexto" (por ejemplo un archivo de una libreria, o un fragmento de codigo) y hacerle una pregunta sobre ese tema. Del estilo "quiero una funcion que haga X" o "esto no esta funcionando, puedes revisar por que?".
Te da la respuesta y te hace los cambios en el codigo. Te muestra el codigo antiguo en rojo y el nuevo en verde, puedes aceptar o rechazar las modificaciones. Sencillamente BRUTAL. - Editar: es una manera rapida de editar algo en tu codigo. Puedes seleccionar un fragmento y pedirle que ponga comentarios, o que sustituya todas las ocurrencias de X por Y o lo que queramos.
Admito que me costo varios dias hacerme al uso y conseguir que todo funcione. Pero cuando lo consigues el salto es descomunal.
Los pasos para pasar de MPLAB o CCS IDE de forma rapida:
1. instala VScode y el plugin de CCS para VScode. Al principio instale los plugins de MPLAB, pero no les encontre uso, asi que acabe desinstalandolos.
2. Cuando quieras abrir un proyecto tan solo haces clic derecho sobre la carpeta del proyecto y pones "Abrir con Code". No hace falta crear un archivo de proyecto ni nada mas. Abres la carpeta y listo.
3. En la barra superior haces clic y escoges "Show and run commands>PIC CCS setup project". Esto te crea una carpeta llamada .vscode dentro de tu proyecto, donde se almacenan tus tareas y configuraciones
4. Yo he modificado las tareas que crea el plugin por unas que creo que se adaptan mejor a mis necesidades, vosotros podeis probar. En la carpeta vereis un archivo "tasks.json" y otro "settings.json". El primero es donde estaran las tareas de compilacion y programacion. El segundo es donde configuramos nuestras tareas para este proyecto concreto. Lo he creado para que el archivo de tareas apenas haya que tocarlo, y solo cambiar las configuraciones. He adjuntado ambos archivos y los podeis sustituir o simplemente coger lo que os haga falta de ahi. Acordaros de salvar para que tengan efecto.
5. Ahora solo debeis compilar y programar vuestro proyecto: click en la barra de busqueda superior>RunTask> escoger la tarea que queramos (compilar, programar o compilar y programar
Yo he configurado las tareas para programar con Pickit4, pero el programador por linea de comandos es bastante lento. Podriais tener el IPE abierto y con el HEX cargado, despues de darle a compilar programais desde IPE. Yo escogi usar el Pickit 2, he instalado una version no oficial llamada "Pickit 2 minus" junto con su linea de comandos (
https://github.com/jaka-fi) que tiene la base de datos de PICs actualizada y va muy bien y es muy rapido.
Un toque extra es instalar el plugin "Task buttons" que te añade botones al IDE para tus tareas. A mi lo de los shortcuts de teclado no me gusta (y VScode es mucho de esto) asi que preferi poner mis tareas en botones al estilo MPLAB o CCS.
Para la IA hay varias opciones: puedes comenzar con Copilot que ya viene instalado (solo hace autocompletar), y añadirle Copilot Chat que te permite chatear y editar. Si te logueas con tu cuenta de github te da bastante uso de forma gratuita.
Tambien puedes instalar "Continue" que es muy similar al Copilor Chat, pero te permite configurar tus IAs. Por ejemplo puedes añadir las API keys de ChatGPT o Claude. Consumen creditos que puedes ir recargando a medida que necesitas. No es muy caro.
En resumen, dar el paso es un poco disrruptor para el que lleva años acostumbrado a los otros IDE, pero una vez que haces el cambio te garantizo que no querras volver atras!
No soy ningun experto y solo llevo un par semanas con esto, pero cualquier duda intentare ayudar.
Un saludo!
PS: a modo de ejemplo, tengo una libreria para controlar pixel leds (ws2812) que solo corre a 32mhz. Le he dicho que queria que funcionase a 48mhz tambien y le he dado el contexto (los archivos) y le he pedido que hiciese las modificaciones... voila! ahora tengo una libreria que corre a mas velocidades sin que haya tenido que programar todas las instrucciones a la nueva velocidad
