亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Visual Studio Code 中在保存時運行 `go fmt`?

如何在 Visual Studio Code 中在保存時運行 `go fmt`?

Go
qq_遁去的一_1 2021-11-22 18:22:58
如何使 Visual Studio Code(或 Go 編程語言擴展go fmt)在保存時運行(或其他工具/命令)?甚至自動保存?更新: 它現在在 VSCode 中完美運行;只需要在.vscode目錄中添加一些配置文件(我使用這些)。2019 年更新: 這個問題很老了?,F在,VSCode Go 擴展擁有你在 Go 中開發所需的一切。最后更新 2019 順便說一句值得一提的是,在測試文件中的包聲明的正上方出現了一個運行包測試。如果單擊它,您可以看到您的代碼的代碼覆蓋率。覆蓋和未覆蓋的部分以不同的顏色突出顯示。2020 年更新 現在,VSCode 的 Go 擴展由 Go Team 監督!??
查看完整描述

3 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

現在,該功能已經實現,您可以在保存時啟用格式:

  1. 打開設置 ( Ctrl + ,)

  2. 搜索editor.formatOnSave并將其設置為true

您的 Go 代碼將自動格式化 Ctrl + s


查看完整回答
反對 回復 2021-11-22
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

目前不可能,但正在處理https://github.com/Microsoft/vscode-go/issues/14


查看完整回答
反對 回復 2021-11-22
?
繁星淼淼

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。


查看完整回答
反對 回復 2021-11-22
  • 3 回答
  • 0 關注
  • 266 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號