Creación de una extensión para visual Studio Code
Enviado por juanma61 • 10 de Febrero de 2020 • Ensayo • 1.024 Palabras (5 Páginas) • 342 Visitas
Trabajo: Creación de una extensión para Visual Studio Code
Índice
Descripción de la tarea: 2
Ejecución de la actividad 4
Apertura del proyecto 4
Código de la extensión 5
Primer ejercicio 6
Segundo ejercicio 10
Ejecutar la extensión 11
Trabajo: Creación de una extensión para Visual Studio Code
Descripción de la tarea:
Visual Studio Code
En la página de VS Code realice la descarga de acuerdo con mi sistema operativo (Windows)
[pic 1]
[pic 2]
NodeJs.- De igual manera se realizó la instalación de NodeJs
[pic 3]
Posteriormente utilizando terminal se realizó la instalación de Yeoman y Generator-code
[pic 4]
Ejecución de la actividad
Generación del esqueleto del proyecto
[pic 5]
Apertura del proyecto
[pic 6]
Código de la extensión
[pic 7]
Primer ejercicio
Nota:
Las líneas para comentar se colocarán en color azul para resaltar la explicación
Llama el mode estricto de JavaScript
'use strict';
Llama el módulo y le da un alias con el mismo nombre
import * as vscode from 'vscode';
Cuando se active la extensión el método es llamado
export function activate(context:vscode.ExtensionContext) {
Se usa la funcionalidad del comando definido en package.json
let disponsable = vscode.commands.registerCommand('extension.gapline', () =>{
Se reconoce la instancia de VS Code que se está ejecutando
var editor=vscode.window.activeTextEditor;
Si no se encuentra el editor, regresa.
if(!editor) {return;}
Obtiene el bloque de texto del editor actual
var selection = editor.selection;
var text = editor.document.getText(selection);
Se visualiza un cuadro de dialogo pidiendo el número de líneas requeridas para luego insertar la línea en blanco.
vscode.window.showInputBox({prompt: 'Lineas?'}).then(value=>{
Realiza la asignación del valor indicado a la variable
let numberOfLines = +value;
Se asigna un arreglo vacío de texto
var textInChunks: Array
Divide a partir de cada salto de línea al texto en un arreglo y se tiene la opción para agregar líneas en blanco
text.split('\n').forEach((currentLine: string, lineIndex)=>{
Incorpora la línea actual al arreglo
textInChunks.push(currentLine);
Decisión para reconocer el número de líneas y si se cumple ingresa in texto vacío al arreglo.
if ((lineIndex+1)%numberOfLines ===0) {textInChunks.push(' ');}
});
Junta cada elemento del arreglo en un solo texto con un salto de línea
text = textInChunks.join('\n');
Se agrega la función para editar el texto
editor.edit((editBuilder)=>{
Se asigna un rango, con los números inicial y final de la línea y columna
...