VSCode - Jusaba/Domo-Serverpic GitHub Wiki

Introducción

El editor de texto deL IDE de la plataforma Arduino, aunque cumple su cometido, resulta ser bastante límitado para un programador por lo que es necesario recurrir a herramientas más adecuadas.

Entre varias posibilidades se ha optado por VSCode que es un editor de texto Open Source desarrollado por Microsoft que destaca por ser ligero, extensible y personalizable y que está cogiendo una gran popularidad.

Lo primero que debemos hacer es descargar el paquete desde el sitio oficial

Una vez descargado, lo instalamos de la forma habitual

Ya tenemos el editor instalado, ahora es necesario adaptarlo a C++ y Arduino para poder utilizarlo para programar nuestros 'cacharros'.

Personalización para Arduino

Para programar en Arduino cargaremos las extensiones

     - C/C++ Extension Pack. Este pack incluye varias extensiones que si bien no son necesarias nos pueden ir muy bien. Este pack incluye las siguientes extensiones:
        
            C/C++ 
            C/C++ Themes
            CMake
            CMAke Tools
            Doxygen Documentation Generator
            Better C++ Syntax 
            Remote Development Extension Pack

        - Arduino    
        - Spanish Languaje Pack for Visual Code

Para compilar utilizaremos Arduino-cli, para ello, lo descargamos del sitio oficial, lo dejamos en c:\Arduino-cli y cargamos el paquete ESP8266 2.7.4 ( Version utilizada en el momento de elaborar este documento ) usado habitualmente y comprobado su correcto funcionamiento.

El siguiente paso es configurar la extensión Arduino para que utilice Arduino-cli como compilador según esta configuración

Y listo, preparado para utilizar VSCode como IDE para nuestros proyectos

1. Acceso ssh a servidores remotos

En ocasiones necesitamos editar ficheros en un servidor remoto, no necesariamente para programar arduino pero si para manejar ficheros html, js.... de algun web que maneja nuestros cacharros.

Hacerlo desde linux es bastante engorroso, en ocasiones hemos utilizado el editor nano que va muy bien para textos pequeños pero cuando el proyecto se complica y es necesario tener abiertos varios ficheros mas o menos grandes lo suyo es utilizar Vscode

Lo primero que haremos será descargar la extension Remote - SSH , una vez instalada pulsamos el botón inferior izquierdo verde de conexión a host

En la barra de selección superior, pulsamos + ADD New SSH Host, nos pedirá los datos de conexión y pondremos el comando ssh para conectarnos al host, por ejemplo

ssh -p222 [email protected]

Luego nos preguntara en que fichero deja la configuración

Lo dejamos en el directorio de usuario .ssh que es el directorio donde se dejan por defecto los certificados.

Se puede editar ese fichero de configuración para modificar los datos del host o incluso añadir/eliminar hosts.

Pulsamos intro y se nos abre una ventana nueva de VSCode, abajo a la izquierda, el icono de conexión ahora refleja una conexión al servidor, cuando llegue a conectar, nos pedirá el password y entraremos ya en el servidor.

Si no queremos poner el password cada vez que conectemos con el servidor, podemos utilizar certificados para la conexión SSH

Para hacerlo, en windows abrimos una ventana de comandos (cmd) en linux no es necesario y tecleamos

ssh-keygen -b 4096 -t rsa

Esto generará una clave publica y una privada, si no hay incompatibilidades de nombre con otras claves creadas anteriormente dejar el directorio y nombre por defecto y no poner password.

En el directorio por defecto dejará dos ficheros

id_rsa       Clave privada
id_rsa.pub   Clave publica

Ahora ya solo falta añadir al fichero la clave publica al authorized_keys del servidor remoto

Desde Windows pondremos lo siguiente

cat C:\Users\Julian/.ssh/id_rsa.pub | ssh -p1222 [email protected] "cat >> ~/.ssh/authorized_keys

Desde linux se pueden utilizar otros comandos pero el mismo de windows nos serviría

cat ~/.ssh/id_rsa.pub | ssh -p1222 [email protected] "cat >> ~/.ssh/authorized_keys"

Nos pedirá el password del host remoto, lo pondremos y quedará registrada la nueva clave

Con estos comandos respetaremos las claves ya registradas en authorized_keys

Para probar el acceso sin password ahora pondremos

ssh -p1222 [email protected]

Si todo ha ido bien, ya no necesitaremos el password

Si todo esto funciona, al hacer la conexión desde vscode ya no nos pedirá el password