Cómo configurar VSCode con C, C++ y Python para programación competitiva

visualstudio.com

Este artículo le mostrará cómo obtener casos de prueba directamente desde el navegador sin copiar y pegar y ejecutarlos en VSCode con solo 2 clics, crear sus propios Snippets y usar el poderoso Depurador.

Si ha estado resolviendo problemas en plataformas como GeeksforGeeks, CodeChef y varios otros jueces, probablemente esté utilizando un compilador en línea para resolver problemas. En ese caso, copiar, modificar y ejecutar casos de prueba se vuelve laborioso. Debe cambiar de pestaña para copiar y pegar casos de prueba y modificarlos. Resolver problemas ya es un desafío.

Algunos usuarios de Ideone han sufrido plagio porque su presentación coincidía con alguien que ni siquiera conocían. Dicen que su código fue copiado de Ideone. Es porque la visibilidad predeterminada es pública en Ideone, lo que permite que cualquier persona vea su código.

La programación en su propio IDE tiene sus propias características excelentes, como IntelliSense: finalización de código, información de parámetros, información rápida y listas de miembros. Además, no hay latencia.

Codifique como programadores experimentados con la ayuda de esta guía.

Configuración de código VSC

Descarga VSCode desde su sitio oficial e instálalo.

Para programación CPP:

1. Instale Mingw-w64 a través del sitio web de SourceForge. Haga clic en Mingw-w64 para descargar el instalador de Windows Mingw-w64.

2. Ejecute el instalador.

3. Para Arquitectura seleccione x86_64 y luego seleccione Siguiente.

4. Agregue la ruta a su carpeta bin Mingw-w64 a la variable de entorno PATH de Windows siguiendo los siguientes pasos:

5 Verifique la instalación ejecutando estos comandos en el símbolo del sistema.

     a) versión g++

     b) gdb –versión

Agregar extensiones 

Todo lo que necesita hacer es instalar algunas extensiones para que funcione.

  • Compañero competitivo : una extensión del navegador para analizar problemas de programación de páginas web y guardarlos. Disponible para Chrome y Firefox.
  • Ayudante de programación competitiva : extensión para VSCode que hace la magia de ejecutar los casos de prueba desde archivos. Modifique o agregue casos de prueba manualmente.
  • C/C++ para Visual Studio Code : esta es una extensión auxiliar. Requerido para IntelliSense, depuración y exploración de código.
  • Python para código de Visual Studio : Linting, depuración (multiproceso, remoto), Intellisense, formateo de código, fragmentos y más.
  • Code Runner : (Opcional) Ejecute un fragmento de código o un archivo de código para varios idiomas sin ejecutar comandos.

Ahora ya está todo listo para resolver problemas sin problemas. Esta configuración es suficiente para comenzar, el resto de la configuración lleva algún tiempo.

Plantillas

La velocidad es un factor importante en la programación competitiva. Lleve la resolución de problemas al siguiente nivel creando sus propias plantillas. Los fragmentos son una gran herramienta para escribir programas más rápido. Puede descargar un generador de fragmentos muy fácilmente.

Para crear o editar sus propios fragmentos, seleccione Fragmentos de usuario en Archivo > Preferencias (ctrl + shift + p) y luego seleccione el idioma. Utilice este increíble sitio para convertir su pieza de código en un fragmento. Pegue el fragmento dentro de las llaves en el archivo de configuración JSON y guárdelo. Separe los diferentes fragmentos con una coma. Cree sus fragmentos geniales para diferentes algoritmos o haga una sola plantilla grande.

Para usar fragmentos, solo necesita escribir el disparador de pestañas y presionar la pestaña.

Configuración del depurador

La depuración puede ser una molestia a veces, especialmente cuando el programa es grande y hay errores de tiempo de ejecución. En ese caso, la impresión no ayudará mucho. Todo lo que necesita es un depurador para salvar el día. Afortunadamente, VSCode viene con una GUI agradable incorporada para la depuración.

Python viene con su depurador y GCC tiene gdb. Vaya a la pestaña del depurador a la izquierda y haga clic en Ejecutar y depurar . Asegúrese de tener un archivo abierto para depurar.

Depuración de secuencias de comandos de Python

Si está depurando python, debería aparecer un mensaje como este. Elija el archivo python

Esto creará un archivo launch.json en el directorio .vscode. Eso se parece a esto. No es necesario editar este archivo, es suficiente para comenzar la depuración. Obtenga más información sobre la edición de configuraciones aquí .

Depuración de secuencias de comandos C/C++

Antes de la depuración, deberá agregar la tarea de compilación. En el menú principal, seleccione Terminal > Configurar tarea de compilación predeterminada . Aparece un menú desplegable que muestra varias tareas de compilación predefinidas para compiladores de C++. Elija C/C++: archivo activo de compilación g++.

Esto creará el archivo tasks.json, guárdelo. Es posible que se le pida que seleccione el entorno primero. Elija C++ (GDB/LLDB). Después de eso, seleccione la configuración de depuración .

Esto también creará un archivo launch.json similar a este. Para obtener más información sobre la configuración, consulte esta página .

Ahora puedes depurar tus programas en C y C++. 

Nota: Deberá crear estas configuraciones si trabaja en un directorio diferente. No lleva mucho tiempo crear estos archivos, pero también puede copiarlos en otros directorios.

Proporcionar entrada durante la depuración

La consola de depuración interna solicitará una entrada cuando haya una declaración de entrada. Hay una manera más inteligente de hacer esto. Cree un archivo llamado input.txt en el directorio actual. Pegue la entrada en el archivo. En el archivo launch.json , cambie la clave args al valor siguiente:

"args" : ["<", "input.txt"]

Desafortunadamente, esto no funciona para Python. Para python, cambie la clave de la consola a 

"console": "externalTerminal"

Abre un terminal externo que se puede usar para pegar la entrada. Esto se puede hacer para C/C++ configurando externalconsole en verdadero 

"externalConsole": true

Publicación traducida automáticamente

Artículo escrito por karanyadav5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *