Extensión de Visual Studio Code C++:Configuraciones de compilación cruzada de IntelliSense

Extensión de Visual Studio Code C++:Configuraciones de compilación cruzada de IntelliSense

¡La actualización de febrero de 2021 de la extensión Visual Studio Code C++ ya está disponible! ¡Esta última versión brinda soporte para configuraciones de compilación cruzada de IntelliSense y más de 60 correcciones de errores! Para obtener más información sobre todas las mejoras, consulte nuestras notas de la versión en GitHub.

Configuraciones de IntelliSense de compilación cruzada

Con esta última versión, puede configurar la extensión para proporcionar IntelliSense adecuado al compilar para una plataforma diferente. que su sistema operativo anfitrión. Así es:plataforma , no solo arquitectura. La extensión de C++ ya no codifica las definiciones del sistema en función de su sistema operativo host; utilizará las definiciones del sistema devueltas por su compilador.

Supongamos que está desarrollando en macOS y su proyecto apunta a Linux. Suponiendo que tiene un compilador compatible con la arquitectura y la plataforma de destino de su proyecto, la extensión de C++ consultará ese compilador mediante la ruta del compilador. , Argumentos del compilador, y modo IntelliSense ajustes en su configuración de IntelliSense. Si está utilizando un proveedor de configuración personalizado (como CMake Tools) o compile_commands.json, entonces no necesita preocuparse por actualizar la configuración de IntelliSense de la extensión de C++; todo debería funcionar.

Las configuraciones de IntelliSense de su proyecto se almacenan en el archivo c_cpp_properties.json en la carpeta .vscode. Edite esta configuración seleccionando C/C++:Editar configuraciones (UI) desde la paleta de comandos.

En la ruta del compilador de su configuración configuración, ingrese la ruta al compilador compatible con su plataforma y arquitectura de destino.

Luego use argumentos del compilador para proporcionar el triplete de destino que usa cuando compila de forma cruzada su código con su compilador. Por ejemplo, –target=x86_64-linux si está apuntando a Linux de 64 bits. Esto permite que la extensión de C++ consulte al compilador para definir el sistema e incluya rutas específicas para su plataforma y arquitectura de destino.

A continuación, configure el modo IntelliSense a la variante específica de plataforma y arquitectura del compilador que está utilizando (debe coincidir estrechamente con el triplete de destino definido en Argumentos del compilador ). Si la información devuelta al consultar el compilador no coincide con el modo IntelliSense que eligió, la extensión de C++ corregirá automáticamente el modo IntelliSense por usted.

Ahora, cuando abra su proyecto en VS Code, obtendrá IntelliSense para su plataforma de destino en lugar de macOS. ¡No más garabatos de definiciones de sistema codificadas!

Mejoras adicionales

Además de admitir configuraciones de compilación cruzada de IntelliSense, la actualización de febrero de 2021 incluye las siguientes mejoras:

  • El formato clang se ha actualizado a la versión 11. #6326
  • Ahora enviamos un binario nativo de formato clang ARM64 con la extensión para dispositivos Windows ARM64 (#6494).
  • Agregamos un comando para generar contenido de EditorConfig a partir de la configuración de formato de su código (vcFormat) #6018
  • Admitimos una nueva propiedad de configuración de inicio de "consola" para cppvsdbg (que reemplaza la propiedad heredada "externalConsole"). PR n.º 6794

Corrección de errores

¡La actualización de febrero de 2021 de la extensión C++ elimina más de 60 correcciones de errores! Por nombrar algunos:

  • Se corrigió la falla del formato clang debido a la falta de libtinfo5 en Linux ARM/ARM64. #6774
  • Corregir el manejo de –sysroot y -isysroot con compileCommands. #1575
  • Reparar IntelliSense que no se actualiza si se cambia un encabezado no abierto. #1780
  • Corregir Cambiar encabezado/fuente que no cambia a un archivo existente en otra columna si no está visible. n.° 2667, n.° 6749
  • Permita que la extensión se ejecute en el emulador x64 de Mac M1. #6713 (Gracias @xymeng16 ! PR #6601)
  • Corregir el desplazamiento y Buscar todas las referencias para las sobrecargas de funciones de plantilla. n.º 4044, n.º 4249

¡Consulte las notas de la versión para obtener más información!

¿Qué piensas?

Descargue la extensión de C++ para Visual Studio Code hoy, pruébela y díganos lo que piensa. Si tiene algún problema o tiene alguna sugerencia, infórmenos en la sección Problemas de nuestro repositorio de GitHub. También puede unirse a nuestro programa Insiders y obtener acceso a versiones preliminares de nuestro lanzamiento en Archivo.> PreferenciasConfiguración y en ExtensionesC/C++, cambie el “C_Cpp:Actualizar canal ” a “Iniciados .” Luego, en Funciones> Extensiones , habilite “Extensiones : Actualización automática .”

Puede comunicarse con nosotros a través de los comentarios a continuación o por correo electrónico a [email protected]. También puede encontrar a nuestro equipo en Twitter en @VisualC.