Extension VSCODE
Enviado por HLS99 • 5 de Enero de 2020 • Apuntes • 2.117 Palabras (9 Páginas) • 171 Visitas
UNIR
Computación en el cliente web
Trabajo: Creación de una extensión para VS Code.
Docente: Gabriela Camacho Villaseñor
Alumno: Héctor Lobato Silva
Código extensión.ts:
import * as vscode from 'vscode';
//Importación de la libreria vscode
export function activate(context: vscode.ExtensionContext) {
// Secrea y se exporta la funcion activate, que se encarga de iniciar la extensión
let disposable = vscode.commands.registerCommand('extension.gapline', () => {
// Se registra y almacena el comando "gapline" previamente especificado en package.json
let options: vscode.InputBoxOptions = {
prompt: 'Lineas?',
placeHolder: 'Número de lineas para hacer el salto'
}
// Se crea el json de configuracion para el input box
const editor = vscode.window.activeTextEditor
//Se inicializa el editor en la variable editor
if ( editor ) {
//Se comprueba que la variable editor no este vacia o nula,
const document = editor.document
//Se inicializa la constante document a partir del valor de la llave document de la variable editor
const lines: Array
//Se crea un array a partir del texto que tiene la variable document
// tomando en cuenta la separacion por salto de linea
vscode.window.showInputBox( options ).then( numberOfLines => {
// Se renderiza el showInputBox que es el cuadrod de dialogo donde colocamos el json de conficuración
// esta promesa nos regresa el valor ingresado en ella para poder trabajar con el.
if ( numberOfLines === undefined ) { return ; }
// Verificamos que la variable numberOfLines no tenga un valor "undefined", de ser asi, se rompe la ejecución
var newText = ""
// Inicializamos la variable newText que almacenará el nuevo texto que crearemos con los nuevos saltos de linea.
lines.forEach( ( line, lineIndex ) => {
// Se hace la iteración de cada elemento del array lines.
newText += `${ line }`
// A la variable newText se le agrega el valor de line, que es el valor de la posicion actual del array.
if ( (lineIndex+1) % Number.parseInt( numberOfLines ) === 0 ) {
// A la variable lineIndex se le suma 1 y se parcea a entero la variable numberOfLines
// comprobamos que la división modular de estos 2 números sea igual a 0, esto quiere decir que es hora de
// agreggar un nuevo salto de linea.
newText += ' \n'
//Se agrega el salto de linea a la variable newText
}
} )
var textRange = new vscode.Range(
0, // Indice de linea donde iniciar a editar
document.lineAt( 0 ).range.start.character, // Indice de caracter donde empeazar a editar
document.lineCount - 1, // Indice de linea donde terminar de editar
document.lineAt( editor.document.lineCount - 1 ).range.end.character // Indice del ultimo caracter de la ultima linea a editar
)
//Se crea el rango del texto del editor que queremos que sea editable, en este caso es todo el texto.
...