Check below settings:
Method 1: Choose "goformat" for Go's Format Tool:
If got below error message, click the Install button or run the command:
The "goformat" command is not available. Run "go install -v winterdrache.de/goformat/goformat@v0.0.0-20180512004123-256ef38c4271" to install.
Press F1.
Input 'Open Settings'.
Select 'Open User Settings (JSON)'.
See below content in the user settings.json:
{ "go.formatTool": "goformat" }
Method 2: Set Go's "editor.formatOnSave" to false:
Install extention "Tab to Space", then set a shortcut key binding for the action:
You can use the shortcut to replace tab with spaces.
Then make the following settings:
Then manually change the value for "editor.formatonSave" to false in the settings.json file:
You can manually format your code by using shortcut "Ctrl + Shift + I", and then replace tab with spaces by using the shortcut "Alt + S" you defined.
Because "goformat" can't recognize generics, you may have to choose method 2 if you want the spaces be kept on save.
{ "workbench.startupEditor": "none", "[go]": { "editor.insertSpaces": true, "editor.formatOnSave": false }, "editor.fontSize": 16, "terminal.integrated.fontSize": 16, "go.toolsManagement.autoUpdate": true, "go.testFlags": [ "-count=1", "-v" ], "gopls": { "ui.semanticTokens": true }, "editor.detectIndentation": false }