Fecha: febrero 20, 2023
Autor: Guillermo Garcia
Categorías: Visual Studio Code Etiquetas: Development tools
En el articulo pasado Visual Studio Code for ARM with CMake #5 VSC Tasks agregamos los archivos para crear tareas para automatizar los procesos de compilación.
En este artículo vamos a configurar la extensión IntelliSense, es una herramienta necesaria cuando se utiliza Visual Sudio Code para realizar compilación cruzada cross-compiling.
Table of Contents
La compilación cruzada es una característica de los compiladores capaces de generar código ejecutable para otra plataforma. Que es distinta a aquella en la que el compilador se ejecuta.
Con el entorno de desarrollo en Visual Studio Code estamos generando cross-compiling gracias al compilador ARM GCC.
Visual Studio Code no conoce las características del lenguaje, para ampliar esa característica en el editor de código empleamos la extensión IntelliSence.
La extensión proporciona características como el resaltado de sintaxis, resalto de tipos de datos, las definiciones de funciones y bibliotecas de inclusión.
Es necesario proporcionar ajustes de configuración. Los ajustes de configuración se establecen mediante un archivo llamado c_cpp_properties.json.
Vamos a crear este archivo en el directorio .vscode en este archivo colocaremos las rutas de los directorios que contienen archivos de inclusión entre otras configuraciones.
Veamos el contenido del archivo c_cpp_properties.json.
{ "configurations": [ { "name": "ARM none eabi GCC", "includePath": [ "${workspaceFolder}/main", "${workspaceFolder}/CMSIS/Include", "${workspaceFolder}/CMSIS/Device/ST/STM32G0xx", "${workspaceFolder}/Device", "${workspaceFolder}/Drivers/Inc", "${workspaceFolder}/Drivers/Inc/Legacy" ], "defines": [ "STM32G071xx", "USE_HAL_DRIVER" ], "compilerPath": "${config:SetPathToolchainARM}/arm-none-eabi-gcc.exe", "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "gcc-arm" } ], "version": 4 }
En la sección de includePath vamos a colocar las rutas a todos los directorios que contiene archivos inclusión.
Para resaltar secciones de código con sentencias de preprocesador colocamos las definiciones en la sección defines.
compilerPath colocamos la ruta donde está el ejecutable del compilador, aquí usamos una variable ${config:SetPathToolchainARM} que definimos en el archivo setting.json.
Veamos cómo se comporta Visual Studio Code cuando no tenemos el archivo de configuración para IntelliSence.
Vemos como no reconoce ciertas definiciones en archivos de código fuente.
Cuando se agrega el archivo de configuración c_cpp_properties.json vemos como la extensión comienza a realizar su función explorando todo el contendido de nuestro proyecto.
Ahora podemos navegar entre las definiciones dando Ctrl + click.
Deja una respuesta