Saltar al contenido

¿Cómo ejecutar `go fmt` al guardar, en Visual Studio Code?

Posterior a observar en varios repositorios y foros de internet al concluir hemos hallado la respuesta que te compartimos ahora.

Solución:

Ahora, la función se ha implementado, puede habilitar el formato al guardar:

  1. Configuración abierta (Ctrl + ,)
  2. Buscar editor.formatOnSave y configúralo en true

Su código Go se formateará automáticamente en Ctrl + s

No es posible en este momento, pero se está trabajando en https://github.com/Microsoft/vscode-go/issues/14

No estoy familiarizado con ‘go fmt’ específicamente, pero puede crear una extensión vscode simple para manejar el evento de guardado y ejecutar cualquier comando arbitrario pasando la ruta del archivo como argumento.

Aquí hay una muestra que simplemente llama echo $filepath:

import * as vscode from 'vscode';
import exec from 'child_process';

export function activate(context: vscode.ExtensionContext) 

    vscode.window.showInformationMessage('Run command on save enabled.');

    var cmd = vscode.commands.registerCommand('extension.executeOnSave', () => 

        var onSave = vscode.workspace.onDidSaveTextDocument((e: vscode.TextDocument) => 

            // execute some child process on save
            var child = exec('echo ' + e.fileName);
            child.stdout.on('data', (data) => 
                vscode.window.showInformationMessage(data);
            );
        );
        context.subscriptions.push(onSave);
    );

    context.subscriptions.push(cmd);

Y el archivo del paquete:


    "name": "Custom onSave",
    "description": "Execute commands on save.",
    "version": "0.0.1",
    "publisher": "Emeraldwalk",
    "engines": 
        "vscode": "^0.10.1"
    ,
    "categories": [
        "Other"
    ],
    "activationEvents": [
        "onCommand:extension.executeOnSave"
    ],
    "main": "./out/src/extension",
    "contributes": 
        "commands": [
            "command": "extension.executeOnSave",
            "title": "Execute on Save"
        ]
    ,
    "scripts": 
        "vscode:prepublish": "node ./node_modules/vscode/bin/compile",
        "compile": "node ./node_modules/vscode/bin/compile -watch -p ./"
    ,
    "devDependencies": 
        "typescript": "^1.6.2",
        "vscode": "0.10.x"
    

La extensión se habilita a través de cmd+shift+p y luego se escribe “Ejecutar al guardar”, pero podría reconfigurarse para iniciarse mediante otro comando que incluya “*”, lo que haría que se cargara en cualquier momento en que se cargue VSCode.

Una vez que la extensión está habilitada, el controlador de eventos se activará cada vez que se guarde un archivo (NOTA: esto no parece funcionar cuando se crea el archivo por primera vez o en Guardar como…)

Esta es solo una modificación menor de una extensión con andamios de código yo como se describe aquí: https://code.visualstudio.com/docs/extensions/example-hello-world

Actualizar

Aquí hay una extensión de Visual Studio Code que escribí para ejecutar comandos al guardar archivos. https://marketplace.visualstudio.com/items/emeraldwalk.RunOnSave.

Nos puedes auxiliar nuestro ensayo poniendo un comentario y dejando una valoración te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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