Instalación y uso básico de VSCode
Instalación y uso básico de VSCode
El editor de texto VSCode ha sido creado y es mantenido por Microsoft. Lo distribuye con
licencia Open Source y por lo tanto en forma gratuita. Lo debemos descargar del sitio
[Link], como podemos comprobar está disponible tanto para Windows,
Mac y Linux:
Una vez descargado procedemos a instalarlo siguiendo los pasos del asistente:
Ya tenemos instalado y funcionando VSCode:
El tema o aspecto visual por defecto es el oscuro, pero para que se vea más fácil en este tutorial
lo cambiaremos por un aspecto más claro.
Para cambiar el tema presionamos el botón del engranaje en la parte inferior izquierda y
seleccionamos "Tema de color":
Seleccionar el tema "Claro + (claro predeterminado)":
Como vemos en el fondo del editor aparecen los 4 comandos más comunes que tenemos que
hacer normalmente cuando trabajamos con el editor de texto VSCode como puede ser " Abrir
archivo" con el atajo de teclas Ctrl+O.
A lo largo del tutorial veremos los atajos de teclas más comunes y otros no tan comunes pero
que nos pueden ayudar en un momento preciso.
2 - Archivo independiente: Creación,
apertura y modificación
Las actividades básicas de todo editor de texto es permitirnos crear nuevos archivos y
modificar archivos existentes.
Desde el menú de opciones de VSCode seleccionamos "Archivo -> Nuevo archivo de texto" (o
mediante las teclas de atajo Ctrl + N):
archivo.
Para grabar el archivo desde el menú de opciones elegimos " Archivo->guardar" (o mediante
las teclas de atajo Ctrl + S): creación y grabación de un archivo con VSCode
Para actualizar los cambios en el archivo debemos seleccionar nuevamente la opción " Archivo
guardar" o (Ctrl + S).
Podemos crear varios archivos y tenerlos abiertos en forma simultánea, cada uno en una
pestaña diferente.
Creemos nuestro segundo archivo dando los pasos que ya vimos "Archivo -> Nuevo archivo"
o (Ctrl + N), luego escribamos nuestra segunda página HTML y la grabemos con la opción
"Archivo->guardar" o (Ctrl + S):
2.2. Cambio entre pestañas
Ctrl+RePag):
(Se van seleccionando las pestañas de izquierda a derecha o viceversa)
4. Por último desde el menú de opciones de VSCode podemos cambiar entre pestaña
seleccionando alguna de las dos opciones: Ir -> Cambiar editor -> Editor siguiente o
Editor anterior:
2.3. Grabar todos los archivos modificados.
Para probar esta opción introduzcamos algunos cambios en las dos pestañas de los archivos
'[Link]' y '[Link]'. Podemos ver en el primer ícono de la izquierda que hay dos
archivos modificados sin grabar:
La opción del menú que graba todos los archivos modificados es (Archivo->Guardar todo) o
el atajo de las teclas (Ctrl + K, luego soltamos las teclas control + K y presionamos finalmente
la tecla S):
Para abrir un archivo almacenado en el disco podemos hacerlo seleccionando desde el menú
de opciones: Archivo->Abrir archivo
El atajo de teclas para que aparezca el diálogo de apertura de archivo es: Ctrl+O.
Es muy común tener que a partir de un archivo existente generar otro. Para esto debemos
tener seleccionada la pestaña con el archivo y luego desde el menú de opciones seleccionar
'Archivo -> Guardar como...
A partir de ese momento cada cambio que hagamos a un archivo luego se ven reflejados en
el disco donde se almacena (es decir no necesitamos ejecutar 'Archivo->Guardar')
3 - Carpeta : apertura y cerrado
3.1. Abrir carpeta
Vimos en el concepto anterior la metodología para editar archivos que nos presenta VSCode.
Cuando tenemos que trabajar con un conjunto de archivos que se encuentran en una carpeta
lo más conveniente es utilizar la funcionalidad de " Abrir carpeta" para que se nos muestre la
lista de archivos contenidos en la misma y no tener que abrir en forma individual cada archivo.
Luego de confirmar, tenemos como resultado la lista de archivos y carpetas que tiene
dicha carpeta (en nuestro ejemplo solo tenemos 3 archivos, pero podemos abrir
carpetas que contienen subcarpetas):
Ctrl+O):
Si salimos del editor VSCode, al regresar en otro momento queda almacenada la última carpeta
abierta.
Cuando se abre una nueva carpeta se cierra la carpeta abierta actualmente, pero si queremos
podemos cerrar la carpeta abierta actualmente mediante la opción del menú " Archivo ->
Cerrar carpeta" o también podemos cerrarlas con las teclas de atajo (Ctrl+K, F):
4 - Area de trabajo : creación, apertura,
modificación y cerrado
Es la tercera forma de trabajar con VSCode cuando tenemos proyectos más complejos que
requieren de más de una carpeta.
Cuando un proyecto es pequeño o mediano es muy común que todos los archivos se
encuentren alojados en una misma carpeta con sus subcarpetas, pero cuando tenemos que
trabajar con un proyecto muy grande, el cual se puede encontrar en carpetas de la misma
unidad o que se almacenan en distintos discos duros, por ejemplo, lo más adecuado es crear
un área de trabajo que haga referencia a dichos directorios.
Para crear un área de trabajo desde el menú de opciones seleccionamos " Archivo -> Agregar
carpeta al espacio de trabajo":
Repetimos la misma operación para agregar más directorios a la misma área de trabajo. Luego
podemos ver que todos los directorios añadidos aparecen en la sección de " Explorador":
Podemos abrir ahora cualquiera de los archivos que hace referencia el área de trabajo. Si
salimos del VSCode, cuando volvamos a ingresar se mostrará la última área de trabajo que
hemos creado, pero si intentamos abrir por ejemplo una carpeta sin añadirla al área de trabajo
actual se nos informará que el área de trabajo se perderá.
VSCode nos da la posibilidad de almacenar áreas de trabajo con un nombre en el disco duro
de nuestra computadora para poderlas abrir en otro momento. Para almacenar un área de
trabajo desde el menú de opciones seleccionamos " Guardar área de trabajo como...":
En el diálogo que aparece indicamos un nombre para poder recuperar ésta área de trabajo
creada y no tener que crearla nuevamente en otro momento. Se genera un archivo con el
nombre del área de trabajo indicada más la extensión 'code-workspace':
[Link]-workspace
Si vemos el contenido de este archivo podremos ver que en su interior hace referencia a todas
las carpetas del 'área de trabajo':
Si tenemos un área de trabajo abierta podemos cerrarla seleccionando la opción " Archivo ->
Cerrar área de trabajo" o el atajo (Ctrl+K, F):
Para desvincular una carpeta de un área de trabajo debemos presionar el botón derecho del
mouse sobre el nombre de la carpeta y seleccionar "Quitar carpeta del área de trabajo":
5 - Configuración del VSCode
Otra de las características fundamentales que tiene el editor de texto Visual Studio Code es la
posibilidad de configurar sus funcionalidades como pueden ser fuentes, colores, tamaños de
fuentes, tabulaciones, modos de presentar en pantalla el editor etc.
Para acceder a la ventana de configuración del VSCode lo podemos hacer de tres formas:
Si no tenemos ninguna carpeta o área de trabajo abierta, solo nos aparece una pestaña
"Usuario", esto significa que todas las configuraciones que efectuemos se aplicarán siempre,
por ejemplo cambiemos el tamaño de fuente por defecto y luego procedamos a abrir distintos
archivos:
Ahora procedamos a abrir una carpeta y cambiemos el tamaño de fuente a 30, procedamos a
abrir algún archivo de dicha carpeta y podremos ver que la configuración de la fuente es de
30 y no 20 (solo se aplica a dicha carpeta):
Además podemos ver que se ha creado una carpeta llamada '.vscode' y en su interior un
archivo llamado '[Link]' que contendrá todas las configuraciones que especifiquemos
para dicha carpeta:
La configuración definida solo tiene efecto en esa área de trabajo, luego si cerramos dicha área
de trabajo y abrimos otra veremos que la configuración hecha anteriormente no tiene efecto.
La configuración del área de trabajo VSCode lo resuelve modificando el archivo con extensión
'.code-workspace':
{
"folders": [
{
"path": "C:\\TutorialVSCode"
},
{
"path": "C:\\documentacion"
}
],
"settings": {
"[Link]": 10
}
}
En cualquier momento podemos volver al valor por defecto para una propiedad de
configuración accediendo al menú lateral de dicha opción:
3 - Paleta de comandos
Otra herramienta que nos provee VSCode es una paleta de comandos donde podemos
acceder a todas las funcionalidades. Tenemos que buscar la funcionalidad escribiendo su
descripción. Para hacer que aparezca la paleta de comandos podemos lanzarla de cuatro
formas:
Esta herramienta que nos provee VSCode es muy útil en un principio, a medida que
conozcamos las teclas de atajo para cada actividad necesitaremos menos la "Paleta de
comandos".
3.1. Ejercicios
abrir archivo
abrir carpeta
abrir área de trabajo
guardar
eliminar línea
agregar comentario
buscar
cerrar editor
4 - Tema de color, tema de ícono de
archivo y tema de ícono del producto
4.1. Tema de color
En el primer concepto vimos cómo cambiar rápidamente el "Tema de color" que trae VSCode
con el objetivo de mostrar un tema claro y no el oscuro que trae por defecto. Para hacer que
aparezca el cuadro de selección de tema podemos hacerlo de tres formas:
Cuando se abre el panel con los "Temas de color" mediante las teclas de flechas o el mouse
podemos ir seleccionando cada uno y ver como se actualiza en tiempo real la interfaz de
VSCode:
Cuando elegimos esta opción podemos escribir el nombre del tema y ver en tiempo real:
La existencia de tantos "Temas de color" puede parecer algo banal, pero pensemos que un
programados pasa miles de horas con la vista puesta en el editor de texto.
4.2. Tema de ícono de archivo
En forma muy similar a los "Tema de color" se administran los "Temas de ícono de archivo".
Para hacer que aparezca el cuadro de selección de "Tema de ícono de archivo" lo podemos
hacer de dos formas:
Igual que los temas de color, la comunidad ha desarrollado "Temas de ícono de archivo" que
podemos instalar dando los mismos pasos visto anteriormente.
A medida que seleccionamos un "Tema de ícono de archivo" podemos ver en una pestaña
quién es el creador, la cantidad de descargar, sus características etc.:
4.3. Tema de ícono del producto
En forma similar a los "Tema de color" e "Iconos de archivos" se administran los "Temas de
ícono del producto".
Para hacer que aparezca el cuadro de selección de "Tema de ícono del producto" lo podemos
hacer de dos formas:
Cuando no hay ninguna carpeta o área de trabajo abierta el "Explorador" nos invita a "Abrir
carpeta" o "Clonar repositorio":
El "Explorador" tiene un menú que nos permite configurar que pestañas debe mostrar:
Ahora en el mismo "Explorador" en la parte superior se muestran todos los archivos que se
encuentran abiertos:
Podemos esconder esta pestaña nuevamente seleccionando la opción "editores abiertos".
En la parte inferior se muestra un esquema del contenido del archivo que se encuentra abierto
(depende del tipo de archivo que se muestra HTML, CSS, JavaScript, C# etc.):
Las teclas de acceso rápido para mostrar el "Explorador" ( Ctrl + Shift + E):
explorador vscode
Para abrir un archivo en el área de edición hacemos clic sobre el nombre en el "Explorador" y
con doble clic se abre una nueva pestaña(editor)
entre si):
Podemos abrir archivos distintos en forma paralela arrastrando el segundo archivo a un lado
o a otro del archivo abierto actualmente:
El atajo para cambiar entre las distintas ventanas de edición es (Ctrl + 1) o (Ctrl + 2) o (Ctrl +
3)
<!DOCTYPE html>
<html>
<head>
<title>Título de la página</title>
<meta charset="UTF-8">
</head>
<body style="background:rgb(32, 32, 199)">
<h1>Actividades en el día.</h1>
<h1>Actividades en el mediodía.</h1>
</body>
</html>
Si necesitamos remplazar las búsquedas podemos presionar el ícono del lado de la izquierda
y nos mostrará un cuadro para indicar por qué valor remplazar:
Luego podemos indicar la cadena de remplazo y efectuar dicha actividad:
Hay otro ícono en el diálogo de búsqueda que nos permite filtrar en que archivos y carpetas
buscar o excluirlos:
Podemos por ejemplo excluir la búsqueda en los archivos 'js':
Si tenemos que definir varias reglas de búsqueda debemos separarlas por una coma:
Si queremos que las búsquedas solo incluyan los editores abiertos disponemos un botón de
estado a la derecha:
6.4. Exclusiones definidas en la configuración.
Por defecto VSCode tiene una serie de carpetas que se excluyen en su búsqueda, podemos
acceder a ellos desde "Configuración":
En muchas herramientas web como Angular, Vue, React, NodeJS etc. requieren una serie de
librerías que se localizan en la carpeta node_modules y que cada vez que hacemos una
búsqueda no tiene sentido procesar los miles de archivos que contiene ésta carpeta.
7 - Buscar en un único archivo
Vimos en el concepto anterior como buscar y eventualmente remplazar datos en todos los
archivos de una carpeta o área de trabajo.
Se nos muestra un diálogo en la parte superior de la pestaña con una interfaz similar a las
búsquedas globales:
Luego de la búsqueda disponemos de dos botones que nos permiten desplazarnos en cada
una de las coincidencias que aparecen dentro del archivo:
Podemos presionar el botón que aparece a la izquierda de la búsqueda para permitir ingresar
un valor de remplazo para las búsquedas que coinciden:
Luego podemos remplazar cada coincidencia una a una mediante el botón:
Visual Studio Code trae esta funcionalidad por defecto para los lenguajes JavaScript,
TypeScript, CSS, HTML JSON, Less y Sass. Luego veremos que existen muchas "extensiones"
que pueden agregar la funcionalidad de IntelliSense a lenguajes tan disímiles como Python,
Java, C#, Go, SQL etc.
function fijarHora() {
const fecha = new Date();
let cadena = [Link]() + ':' + [Link]() + ':' + [Link]
nds();
[Link]('hora').innerText = cadena;
}
[Link](
'load',
setInterval(() => fijarHora(), 1000),
false);
Luego de crear un objeto de una determinada clase cada vez que disponemos un punto luego
del nombre del objeto se activa IntelliSense para sugerirnos valores permitidos:
En este ejemplo a medida que escribimos el método que necesitamos llamar veremos que las
opciones se van filtrando:
Si se nos cierra el cuadro de sugerencias por ejemplo al cambiar de ventana o cualquier otro
motivo:
Podemos activarlo fácilmente por medio del atajo de teclado (Ctrl + Espacio):
Lo mismo sucede que se activa "IntelliSense" cuando comenzamos a escribir los parámetros
de un método o función:
Nos informa la cantidad y tipo de parámetros, así como una descripción del mismo.
Si necesitamos una información ampliada de cada propiedad o método que se sugiere
debemos presionar las teclas (Ctrl + Espacio) estando activas las sugerencias y veremos que
aparece una segunda ventana con la explicación del método o propiedad, si mediante las
teclas de flechas nos desplazamos entre los métodos podremos ir consultando cada definición,
para ocultarla debemos presionar nuevamente (Ctrl + Espacio):
8.1. Iconos
Cuando aparece el cuadro de sugerencias de "IntelliSense", del lado izquierdo se muestran
una serie de íconos que tienen un determinado significado:
Cuando introducimos errores en nuestro código, VSCode nos sugiere posibles correcciones.
Probemos de ingresar un objeto literal sin separar sus propiedades por coma:
let actual = {
dia: 1
mes: 5
año: 2018
}
Luego veremos que aparece subrayado en rojo el atributo mes. Si disponemos la flecha del
mouse sobre el identificador nos sugerirá una posible corrección:
Una vez que efectuamos las correcciones desaparecen los subrayados rojos:
IntelliSense actúa según el tipo de archivo que estamos trabajando, por ejemplo si editamos
un archivo CSS las sugerencias serán adecuadas para este formato:
Es importan el mensaje que nos muestra VSCode en la parte inferior derecha, aquí nos informa
el formato de archivo que estamos trabajando.
Es común que a veces creamos un archivo (Ctrl + N) y no le asignemos un nombre al principio,
en estos casos VSCode no puede inferir el formato de datos que cargamos y no aparecerá
activo IntelliSense:
En la parte inferior aparece un mensaje de "Texto sin formato". Podemos cambiar este valor
por el formato de nuestro archivo, en ese momento ya tendremos activo algunas
funcionalidades de IntelliSense, de todos modos para la activación completa debemos
grabarlo en disco.
9 - Terminal integrado en VSCode
VSCode ha incorporado la posibilidad de mostrar una terminal de comandos del sistema
operativo donde se ejecuta.
Para activar la terminal podemos hacerlo mediante el atajo de teclado (Ctrl+` ), o también con
el menú de opciones o el ícono de la barra de título:
La consola normalmente se muestra en la parte inferior de pantalla dentro del editor VSCode:
9.1. Ejemplo de uso.
Vamos a instalar NodeJS para hacer unas pruebas como podemos ejecutar las aplicaciones
codificadas con esta herramienta.
El primer paso será descargar e instalar NodeJS, si tiene alguna duda puede consultar el tutorial
[Link] Ya. - El objetivo no es estudiar NodeJS sino ver como podemos interactuar con el mismo
desde VSCode: codificar los programas y ejecutarlos desde el mismo entorno. - Una vez instalado
NodeJS procederemos a codificar un programa mínimo (creamos el archivo '[Link]'):
En [Link] cuando utilizamos el método log del objeto Console los datos se muestran en la
misma terminal:
Desarrollaremos una segunda aplicación [Link] que cree un servidor web ('[Link]'):
const http=require('http');
[Link](8888);
El servidor web creado con [Link] está en ejecución y esperando peticiones en el puerto
8888, ahora solo nos queda desde el navegador hacer la petición a dicho servidor:
Hemos visto el uso de la terminal aplicada a [Link] pero existen muchos otros lenguajes que
podemos ejecutarlos y/o compilarlos desde la terminal: Python, Java, Ruby, Go etc.
En conceptos futuros veremos otros entornos que requieren la consola integrada de VSCode.
10 - Depuración de programas
Otra área fundamental que VSCode nos trae dentro del editor es la depuración de código.
Recordemos que depurar es el proceso que hacemos a nuestros programas para identificar
errores que hay en los mismos.
Dentro de la "Barra de actividades" de VSCode podemos identificar el ícono que nos abre el
diálogo de depuración:
Cada ambiente de trabajo tiene sus propias herramientas de depuración: [Link], Python, C#
etc.
Crearemos un pequeño proyecto con dos archivos y algunos errores en su interior para
posteriormente depurarlos.
En una carpeta crearemos dos archivos que ejecutaremos luego desde el ambiente de [Link].
[Link]
const PI = 2.14;
function mostrarErrorDivision() {
[Link]('No se puede dividir por cero');
}
[Link] = sumar;
[Link] = restar;
[Link] = dividir;
[Link] = PI;
[Link]
const mat=require('./matematica');
Disponiendo la flecha del mouse sobre el nombre de una variable o parámetro se nos muestra
su contenido. Podemos identificar luego que la lógica de la función sumar es incorrecta:
return x1 - x2;
return x1 + x2;
Todas las opciones que hemos visto hasta ahora las podemos acceder también desde la opción
de menú de barra "Ejecutar":
11 - Extensiones
Una de las opciones fundamentales del editor de texto VSCode es la posibilidad de agregar
características mediante las "extensiones". Algo ya hemos trabajado con esto cuando
agregamos extensiones sobre "Temas de color" y "Temas de íconos de archivo".
Para conocer los pasos para la instalación de una extensión instalaremos la de Python, para
eso primero descargaremos el lenguaje Pythhon 3.x del sitio [Link]
Una vez que hayamos instalado el lenguaje Python procederemos a instalar la extensión de
Python en VSCode. Desde la "Barra de actividades" a través del ícono, comenzamos a escribir
'Pyth' y aparecen las extensiones:
extensiones VSCode
Cuando seleccionamos una extensión se nos muestra una pestaña con toda la información de
dicha extensión:
Ya tenemos todo listo para probar nuestro primer programa en Python, procedemos a crear
un archivo '[Link]' y codificar:
Podemos ahora abrir la opción de depurar y proceder a ejecutar nuestra aplicación en Python
(la misma acción se puede lograr con el triángulo de la derecha):
En la consola procedemos a ingresar el lado del cuadrado y obtener el resultado de nuestro
programa de Python:
El objetivo no es aprender Python sino entender los pasos de instalación de una "Extensión",
si desea estudiar Python puede visitar el tutorial de Python YA
11.2. Problema
Consiste en disponer ciertos caracteres y que el editor VSCode nos sugiera una cadena que
sustituya dichos caracteres. Veamos con un ejemplo como funciona, creemos un archivo vacío
llamado '[Link]' y dentro del editor escribamos el caracter '!':
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
</html>
También luego de dar "Enter" quedan ciertas partes del bloque generado con otro color,
mediante la tecla 'Tab' podemos ir avanzando y cambiando los valores propuestos como por
ejemplo el valor para la marca 'title':
Existen innumerables características que propone Emmet, iremos viendo algunas para
entender su filosofía.
Dispongamos el caracter 'a' e inmediatamente se nos sugieren distintos valores por los que
podemos sustituir dicho caracter, elijamos el segundo:
Luego de presionar 'Enter' pasemos mediante la tecla 'Tab' a cargar la url del sitio web y el
texto que debe aparecer en la página:
Creemos primero en nuestro proyecto una carpeta llamada 'css' y dentro de ella un archivo
llamado '[Link]'. Simplemente disponiendo en la página HTML la marca 'link' aparece la
sugerencia de 'Emmet' para generar toda la etiqueta:
Luego cuando tenemos que disponer el 'path' o camino donde se encuentra el archivo 'css' el
mismo VSCode nos propone el nombre de la carpeta y seguidamente la selección del archivo
de dicha carpeta:
12.3. Insertar un archivo JavaScript
Creemos primero en nuestro proyecto una carpeta llamada 'js' y dentro de ella un archivo
llamado '[Link]'.
De forma similar escribamos la etiqueta 'script' y dejemos que Emmet nos sugiera por cual
cadena remplazarlo:
Simplemente presionamos la letra 'c' y Emmet aparece para que seleccionemos comentario:
El sitio oficial de Emmet dispone de un recordatorio de todas las etiquetas HTML y los valores
con los que se sustituyen: Sitio oficial
Si la propiedad tiene varios valores luego se pueden ir cargando dichos valores y presionar la
tecla 'Tab' para pasar a la carga del siguiente valor:
Con esto indicamos que la etiqueta 'table' tiene una etiqueta hija de tipo 'tr' y esta a su vez
tiene su etiqueta hija de tipo 'td'.
A medida que codificamos con Emmet en VSCode podemos ver como va a quedar el código
HTML cuando se procese la expresión:
Es muy común en HTML tener que disponer un conjunto de etiquetas del mismo tipo como
podrían ser 'li' dentro de una lista o 'td' dentro de 'tr'.
Resulta muy natural la expresión Emmet para generar la tabla de 3 filas y 6 columnas:
table>tr*3>td*6
Luego de confirmarla el cursor se dispondrá en cada una de las celdas de la tabla para que
carguemos un valor. Debemos presionar la tecla 'Tab' para pasar a la siguiente posición a
cargar:
Utilizamos el caracter '+' para crear etiquetas que se encuentran en el mismo nivel. Veamos
un ejemplo de crear un título de nivel 1, luego un título de nivel 2, 5 párrafos, otro título de
nivel 2 y finalmente 3 párrafos más:
h1+h2+p*5+h2+p*3
<h1></h1>
<h2></h2>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<h2></h2>
<p></p>
<p></p>
<p></p>
Todos los elementos son hermanos ya que se encuentran a la misma altura.
Luego del tipo de elemento podemos definir el nombre de su 'id' y/o 'class' antecediendo los
caracteres '#' o '.'
Se genera un div con la definición del atributo 'id' con el valor 'contenedor' y su atributo class
con el valor 'general'.
Luego tiene dos div hijos que son hermanos y definen sus respectivos 'id'.
Mediante el caracter '$' podemos generar valores enteros consecutivos cuando empleamos el
'*'.
Supongamos que necesitemos crear una tabla de 10 filas y los id de cada fila deben llamarse:
fila1, fila2, fila3 etc., lo resolvemos con la siguiente sintaxis de Emmet:
table>tr#fila$@-*5>tr*2
Podemos disponer en la expresión Emmet atributos que por defecto no se definen, para eso
debemos encerrar entre corchetes el atributo:
4. Mover la línea donde se encuentra el cursor hacia abajo: Alt + flecha abajo
Si tenemos el cursor en el primer párrafo:
Luego presionamos tres veces: Alt + flecha abajo. Tenemos como resultado la línea donde se
encuentra el cursor desplazada tres filas hacia abajo:
5. Para desplazar la línea donde se encuentra el cursor hacia arriba debemos utilizar las
teclas: Alt + flecha arriba
6. Para copiar la línea actual en la línea siguiente disponemos del atajo de teclado: Shift
+ Alt + flecha abajo
Si tenemos el cursor en la línea de la etiqueta h1:
Luego presionamos tres veces los atajos de teclas Shift + Alt + Flecha abajo. Tenemos
como resultado que la línea donde se encontraba el cursor se ha copiado tres veces:
7. De modo similar para copiar la línea donde se encuentra el cursor hacia arriba
debemos utilizar las teclas: Shift + Alt + flecha arriba.
8. Para insertar una línea abajo de donde se encuentra el cursor (no importa en qué parte
de la línea actual se encuentra el cursor) debemos seleccionar: Ctrl + Enter
Si tenemos el cursor en medio del tercer párrafo:
Luego presionamos las teclas Ctrl + Enter. Tenemos como resultado que se ha
agregado una línea abajo y se ha desplazado el cursor a dicha línea:
Para quitar los comentarios hacemos uso del mismo juego de teclas.
21. También podemos disponer o quitar comentarios de bloque a un conjunto de líneas
seleccionadas mediante el atajo de teclas: Shift + Alt + A
fuente:
2. Expandir todos los bloques mediante las teclas (Ctrl + K, Ctrl + J)
3. Según donde se encuentre el cursos podemos contraer el bloque donde se
encuentra inserto mediante las teclas (Ctrl+K, Ctrl+[)
4. Según donde se encuentre el cursor podemos expandir el bloque mediante
las teclas Ctrl+K, Ctrl+]
16 - Atajos de teclado: disponer múltiples
cursores
Otra de las características que provee VS Code es la posibilidad de definir múltiples cursores
para agregar o modificar datos en forma simultánea.
'v':
Luego de agregar la cadena 'alor' podemos desactivar los múltiples cursores
presionando la tecla 'Esc':
Por ejemplo, si tenemos 6 párrafos y queremos agregar una clase a cada uno de ellos:
<p>párrafo 1</p>
<p>párrafo 2</p>
<p>párrafo 3</p>
<p>párrafo 4</p>
<p>párrafo 5</p>
<p>párrafo 6</p>
Debemos presionar en forma simultanea la tecla 'Alt', el botón central del mouse y
desplazarnos por ejemplo de arriba hacia abajo en la columna de la marca 'p':
Seguidamente una vez que los cursores están activos procedemos a efectuar el ingreso
de la clase y presionar luego 'Esc' para eliminar los cursores múltiples:
3. Podemos disponer un cursor en todas las palabras que coinciden donde se encuentra
actualmente el cursor mediante el atajo de teclas Ctrl + F2:
en:
barra:
3. Podemos aumentar o disminuir el 'Zoom' del programa en forma completo (tanto del
editor activo como la barra de actividades') Esta acción la hacemos mediante las teclas:
Ctrl + '+' para aumentar el zoom y Ctrl + '-' para disminuirlo. De igual manera, en el
menú de opciones de VS Code encontramos esta funcionalidad en:
7. Para ocultar o hacer visible la barra lateral tenemos el atajo de teclado: Ctrl + B:
11. La barra de estado que aparece en la parte inferior del editor se la puede ocultar
accediendo desde el menú de barra a la opción "Ver -> Apariencia -> Ocultar barra
de estado":
18 - Fragmentos de código (snippets)
Los fragmentos de código son un bloque de una o más instrucciones que el programador
debe ingresar en forma repetitiva a lo largo de la codificación de un programa. Las estructuras
repetitivas, condicionales, bloques de comentarios etc. son instrucciones que debemos
codificar constantemente en nuestro programa y los "Fragmentos de código" nos automatizan
el ingreso de los mismos.
Los fragmentos de código son particulares de cada lenguaje de programación. Los lenguajes
básicos que soporta VS Code como JavaScript, TypeScript, HTML etc. incorporan fragmentos
de código básicos.
Los fragmentos de código que propone IntelliSense dependen del lenguaje que estamos
codificando. Cuando instalamos extensiones de otros lenguajes las mismas incorporan
fragmentos propios.
Ahora veremos que podemos crear nuestros propios fragmentos de código para luego
utilizarlos en nuestros proyectos.
{
// Place your snippets for javascript here. Each snippet is defined under a snippet nam
e and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be
expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another}
for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "[Link]('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
}
Crearemos un fragmento que inserte un mensaje de 'Hola mundo' por consola cuando el
operador ingrese en el editor VS Code la palabra 'hola' :
{
// Place your snippets for javascript here. Each snippet is defined under a snippet name an
d has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expa
nded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for
placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "[Link]('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Hola mundo": {
"prefix": "hola",
"body": "[Link]('Hola mundo');",
"description": "muestra un hola mundo por la consola"
}
}
Si confirmamos presionando la tecla 'Enter' se remplaza el texto que hemos ingresado por el
valor del snippet:
Si analizamos el archivo '[Link]' hemos definido una propiedad llamada "Hola mundo"
que es un objeto que en su interior define tres propiedades:
Si el fragmento de código a implementar tiene varias líneas la propiedad "body" deberá definir
un array con los valores de las distintas líneas. Debemos encerrar entre corchetes y separados
por coma cada una de las líneas:
Creemos un fragmento que tenga tres líneas que genere un comentario para recordar revisar
el algoritmo de una función:
{
// Place your snippets for javascript here. Each snippet is defined under a snippet name an
d has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expa
nded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for
placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "[Link]('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Hola mundo": {
"prefix": "hola",
"body": "[Link](\"Hola mundo\");",
"description": "muestra un hola mundo por la consola"
},
"Comentario función": {
"prefix": "comentario revisar función",
"body":[
"//-----------------------------------------",
"//--------Revisar \"Función\"----------------",
"//-----------------------------------------"
],
"description": "genera un bloque de comentarios para recordar revisar algoritmo de la fun
ción"
}
}
Lo primero que debemos notar es que hemos agregado el fragmento de código al archivo
'[Link]' y hemos dejado el fragmento anterior. En este nuevo fragmento cuando el
operador comience a escribir 'comentario revisar función' Intellisense nos propondrá sustituir
por el valor definido en 'body'. La propiedad 'body' define entre corchetes y separados por
coma cada una de las líneas del fragmento de código:
"body":[
"//-----------------------------------------",
"//--------Revisar \"Función\"----------------",
"//-----------------------------------------"
],
Podemos generar un fragmento que luego de escribirse dentro del editor nos ubique el cursor
en lugares específicos para que el programador los complete y mediante la tecla 'Tab' pase al
siguiente punto de configuración.
Desarrollaremos un fragmento de código que nos permita generar una estructura repetitiva
for donde podamos definir el valor inicial y final del contador del for (borraremos los otros dos
fragmentos de código desarrollados anteriormente para dejar más claro nuestro archivo
'[Link]' sabiendo que en la realidad luego podremos tener múltiples fragmentos):
{
// Place your snippets for javascript here. Each snippet is defined under a snippet name an
d has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expa
nded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for
placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "[Link]('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"for desde hasta": {
"prefix": "for desde hasta",
"body": [
"for(let x = $1; x <= $2; x++) {",
" $0",
"}"
],
"description": "genera un for con incremento unitario desde un valor inicial hasta uno fi
nal"
}
}
Para indicar la primera posición donde debe aparecer el cursor utilizamos la sintaxis $1, luego
que el programador presiona la tecla 'Tab' el cursor se posiciona en $2 y así sucesivamente.
Luego de ingresar el valor inicial para el contador 'x' presionamos la tecla 'Tab':
Luego de fijar el valor final para el contador presionamos nuevamente la tecla 'Tab' y el cursor
se posiciona finalmente en donde definimos el símbolo $0:
19.4. Ubicación del cursor con valores por defecto.
Cuando disponemos el cursor dentro del fragmento podemos definir un valor por defecto
para que se muestre, luego es responsabilidad del programador de confirmar dicho valor
presionando la tecla 'Tab' o cambiarlo.
Modifiquemos el fragmento de código para que el 'for desde hasta' por defecto sea del
número 0 al 10:
{
// Place your snippets for javascript here. Each snippet is defined under a snippet name an
d has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expa
nded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for
placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "[Link]('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"for desde hasta": {
"prefix": "for desde hasta",
"body": [
"for(let x = ${1:0}; x <= ${2:10}; x++) {",
" $0",
"}"
],
"description": "genera un for con incremento unitario desde un valor inicial hasta uno fi
nal"
}
}
Debemos encerrar entre llaves la posición del cursor y luego de dos puntos el valor por defecto
a mostrar: ${1:0}
Cuando aceptamos el fragmento de código nos aparecen seleccionados los valores por
defecto:
20.1. Pasos
for(var x=1;x<=100;x++) {
if (x%3==0 && x%5==0)
[Link]("Fizz Buzz");
else
if (x%3==0)
[Link]("Fizz");
else
if (x%5==0)
[Link]("Buzz");
else
[Link](x);
}
dotnet run
Tener en cuenta que en versiones más antiguas de .NET (menores a la 6), las
aplicaciones de consola requieren obligatoriamente implementar una clase y el
método Main donde codificamos nuestro algoritmo:
namespace Proyecto1
{
class Programa
{
static void Main(string[] args)
{
for(var x=1;x<=100;x++) {
if (x%3==0 && x%5==0)
[Link]("Fizz Buzz");
else
if (x%3==0)
[Link]("Fizz");
else
if (x%5==0)
[Link]("Buzz");
else
[Link](x);
}
}
}
}
1. Debemos tener instalado el JDK de Java como primera medida, podemos descargarlo
del sitio oficial de Oracle.
2. Ahora pasaremos a instalar la extensión "Extension Pack for Java", podemos hacer su
búsqueda directamente desde la sección de extensiones de VSCode (la cantidad de
instalaciones nos refleja la popularidad de la misma):
Si nuestro código tiene algún error sintáctico, en la consola se mostrará el mismo y podemos
hacer doble clic para pasar a la línea del editor donde se ubica dicho error:
22 Referencia bibliográfica
Tutorial Visual Code Studio.
[Link]