Extensión de código VS - Fragmentos - Le diré cómo ahorrar tiempo

Al trabajar durante mucho tiempo en un proyecto, a menudo se encuentra la necesidad de copiar una parte del código típico y pegarlo en el lugar correcto. En tales situaciones, los fragmentos ayudan por cierto. Es en su ejemplo que le diré cómo construir una extensión para mis propias necesidades en VS Code.

Con respecto a la creación de extensiones, VS Code tiene documentación , pero aquí intentaré mostrar de manera más concisa el proceso de creación.

Trabajo en una Mac, por lo que los comandos serán apropiados ...

¿Y qué necesitamos?

  • Actualmente VS Code
  • Node.js, o más bien, su administrador de archivos - nmp
  • Generador de código VS
  • Brazos rectos

El proceso de instalación de las herramientas necesarias. Precaución Usado por la Terminal!


  1. Instalación de Node.js (se puede omitir si ya está disponible)
    • Instalación de preparación (se puede omitir si ya está disponible)
      /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

    • Instalar Node.js
       brew install node 


  2. Instalar generador de código VS
     npm install -g yo generator-code 


Crear plantilla de extensión


  1. Trabajando todos en la misma consola, ejecute el comando
     yo code 

    La siguiente imagen aparecerá ante usted:
    imagen
    JavaScript debe ser seleccionado
  2. Luego, el mecanismo le pedirá que complete algunos campos más, después de lo cual comenzará el proceso de creación
    imagen

Felicidades Plantilla creada Pasemos al código.

Crear extensión


  1. Abre la carpeta creada. Su nombre coincide con el identificador de extensión que especificó anteriormente)
    imagen
  2. Cree una carpeta de fragmentos con un archivo json incrustado (om / s). El punto es que para cada idioma del editor vs puede usar su propio conjunto de fragmentos, para hacer esto, debe registrar su propio archivo de fragmentos para cada uno de los idiomas que necesita. Por ejemplo, uso sql y js, así que haré 2 archivos para mí
    imagen
  3. Registre fragmentos en Extension. Registre los archivos Snippet y vincúlelos a los idiomas a los que se aplicarán. Para hacer esto, agregue la siguiente construcción simple en el archivo package.json, que indica qué idioma corresponde a qué fragmento

    imagen

    Código para los perezosos
      "snippets": [ { "language": "csharp", "path": "./snippets/js_snippets.json" }, { "language": "sql", "path": "./snippets/sql_snippets.json" } ] 


  4. Descripción del cuerpo de fragmentos. El cuerpo debe estar en formato json como se indicó anteriormente. Por ejemplo, creé dos plantillas para mí (snippet-a). Uno de ellos crea el cuerpo del programa pl sql, y el segundo simplemente contiene el fragmento de salida. Cada fragmento consta de:

    • json object snippet-a - definiciones de su nombre;
    • prefijo: un equipo gracias al cual podemos encontrar fragmentos;
    • cuerpo: el cuerpo que se insertará en el editor;
    • description - descripción de snippet-a.

    imagen

    Y de nuevo el código
      { "Default body": { "prefix": "defaultbody", "description" : "Declare dafault body", "body": [ "declare", "", " v_errorCode int;", " v_errorMessage nvarchar2(255);", "", "begin", "", " begin", "", " null;", " --Do something", "", " exception when others then", "", " v_errorCode = 101;", " v_errorMessage = substr(sqlerrm, 1, 200);", " ", " end;", "", " <<cleanup>>", " --dbms_output.put_line('Error code : '||v_errorCode);", " --dbms_output.put_line('Error message : '||v_errorMessage);", "end;" ] }, "Output": { "prefix": "output", "description" : "Dbms output", "body": [ "dbms_output.put_line('');" ] } } 


  5. Lanzamiento Producido utilizando el mismo código vs, después de lo cual se abre una nueva instancia vs código
    imagen
  6. Verificación En la nueva instancia, debemos elegir el idioma para escribir el código sql y comenzar a escribir el prefijo de uno de los fragmentos correspondientes al idioma seleccionado y esto es lo que obtenemos
    imagen

    imagen

  7. Solicitud Para dejar la extensión en su tarantass y que siempre funcione, debe mover la carpeta del proyecto a
     user/.vscode/extensions/ 


Parece ser bueno? Ahorre tiempo, gente ... El tiempo es $

Source: https://habr.com/ru/post/455884/


All Articles