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 关注
- 177 浏览
添加回答
举报