3 回答

TA貢獻1887條經驗 獲得超5個贊
現在,該功能已經實現,您可以在保存時啟用格式:
打開設置 (
Ctrl + ,
)搜索
editor.formatOnSave
并將其設置為true
您的 Go 代碼將自動格式化 Ctrl + s

TA貢獻1775條經驗 獲得超11個贊
我對“go fmt”并不特別熟悉,但是您可以創建一個簡單的 vscode 擴展來處理保存事件并執行任何將文件路徑作為參數傳遞的任意命令。
這是一個僅調用的示例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);
}
和包文件:
{
"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"
}
}
該擴展是通過 cmd+shift+p 啟用的,然后鍵入“Execute on Save”,但它可以重新配置為通過另一個命令啟動,包括“*”,這會導致它在 VSCode 加載時加載。
啟用擴展后,只要保存文件,事件處理程序就會觸發(注意:這在首次創建文件或另存為...時似乎不起作用)
這只是對這里概述的 yo 代碼腳手架擴展的一個小修改:https : //code.visualstudio.com/docs/extensions/example-hello-world
更新
這是我為在文件保存時運行命令而編寫的 Visual Studio Code 擴展。https://marketplace.visualstudio.com/items/emeraldwalk.RunOnSave。
- 3 回答
- 0 關注
- 266 瀏覽
添加回答
舉報