ctrl+shift+p

  • 安装 vscode-go 插件:

    1. > ext install Go
  • 安装 go tools:

    1. > Go Install/Update Tools
  • 新项目按 vscode-go-build 配置.

  • 下载失败配置 hosts:

    1. https://github.com/racaljk/hosts

VSCode 开发配置

settings.json

VSCode 工作区配置. 菜单 文件->个性化配置->工作区设置 来触发本配置.
GOPATH 多个路径在 Mac 下需要 : 分割, Windows 下需要 ; 分割, 下面涉及到的 GOPATH 都遵循此规则.
本节点配置后需要重启 VSCode 来生效.

  1. {
  2. "go.gopath": "G:\\Work\\GoPath;G:\\Work\\SVN\\...自定义目录...\\"
  3. }

launch.json

调试运行配置. 主要配置 ENV 节点 GOPATH 项. F5 触发本配置.

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "Launch",
  6. "type": "go",
  7. "request": "launch",
  8. // "mode": "exec",
  9. // "program": "${workspaceRoot}/...自定义目录....exe",
  10. "mode": "debug",
  11. "program": "${workspaceRoot}",
  12. "env": {
  13. "GOPATH":"G:\\Work\\GoPath;G:\\Work\\SVN\\...自定义目录...\\"
  14. },
  15. "args": []
  16. }
  17. ]
  18. }

tasks.json

快捷键 Ctrl + Shift + B 来触发 配置新任务, 选择 其他 任务. 平时使用也用此快捷键查看 Build 情况.
不同系统自行配制不同节点.

  1. {
  2. "version": "0.1.0",
  3. "command": "go",
  4. "isShellCommand": true,
  5. "args": [
  6. "build",
  7. "-i",
  8. "-v"
  9. ],
  10. "windows": {
  11. "options": {
  12. "env": {
  13. "GOPATH": "G:\\Work\\GoPath;G:\\Work\\SVN\\...自定义目录...\\"
  14. }
  15. }
  16. },
  17. "linux": {
  18. "options": {
  19. "env": {
  20. //"GOPATH": "/home/USERNAME/GoPath:/home/USERNAME/Work/Git/...自定义目录.../"
  21. }
  22. }
  23. },
  24. "osx": {
  25. "options": {
  26. "env": {
  27. //"GOPATH": "/home/USERNAME/GoPath:/home/USERNAME/Work/Git/...自定义目录.../"
  28. }
  29. }
  30. },
  31. "showOutput": "always"
  32. }

所有配置文件在 .vscode 文件夹下

settings.json

自定义 GOPATH 配置:

本配置不是必须, 碰到独立 gopath 项目设置.

  1. {
  2. "go.gopath": "${workspaceRoot}"
  3. }

task.json

快捷键 Ctrl+Shift+b 触发 手动编译任务, 首次调用会自动创建 task.json:

linux/osx run 命令没有测试是否正确

  1. {
  2. "version": "0.1.0",
  3. "command": "go",
  4. "isShellCommand": true,
  5. "suppressTaskName": true,
  6. "tasks": [{
  7. "taskName": "build",
  8. "isBuildCommand": true,
  9. "args": [
  10. "-i",
  11. "-v"
  12. ]
  13. }
  14. ],
  15. "showOutput": "always",
  16. "windows": {
  17. "tasks": [
  18. {
  19. "args": [
  20. "build",
  21. "&",
  22. "${workspaceRootFolderName}.exe"
  23. ],
  24. "taskName": "run"
  25. }
  26. ],
  27. "options": {
  28. "env": {
  29. "GOPATH": "${env.GOPATH};${workspaceRoot}"
  30. }
  31. }
  32. },
  33. "linux": {
  34. "tasks": [
  35. {
  36. "args": [
  37. "build",
  38. "|",
  39. "./${workspaceRootFolderName}"
  40. ],
  41. "taskName": "run"
  42. }
  43. ],
  44. "options": {
  45. "env": {
  46. "GOPATH": "${env.GOPATH}:${workspaceRoot}"
  47. }
  48. }
  49. },
  50. "osx": {
  51. "tasks": [
  52. {
  53. "args": [
  54. "build",
  55. "|",
  56. "./${workspaceRootFolderName}"
  57. ],
  58. "taskName": "run"
  59. }
  60. ],
  61. "options": {
  62. "env": {
  63. "GOPATH": "${env.GOPATH}:${workspaceRoot}"
  64. }
  65. }
  66. }
  67. }

launch.json

配置调试:

  1. {
  2. "version": "0.2.0",
  3. "configurations": [{
  4. "name": "dlv-DEBUG",
  5. "type": "go",
  6. "request": "launch",
  7. "mode": "debug",
  8. "program": "${workspaceRoot}",
  9. "windows": {
  10. "env": {
  11. "GOPATH": "${env.GOPATH};${workspaceRoot}"
  12. }
  13. },
  14. "linux": {
  15. "env": {
  16. "GOPATH": "${env.GOPATH}:${workspaceRoot}"
  17. }
  18. },
  19. "osx": {
  20. "env": {
  21. "GOPATH": "${env.GOPATH}:${workspaceRoot}"
  22. }
  23. },
  24. "args": []
  25. }]
  26. }

keybindings.json

快捷键配置:

ctrl+shift+delete 强制结结束执行任务, ctrl+r 运行task.json 内配置的任务

  1. [
  2. {
  3. "key": "ctrl+shift+delete",
  4. "command": "workbench.action.tasks.terminate"
  5. },
  6. {
  7. "key": "ctrl+r",
  8. "command": "workbench.action.tasks.runTask",
  9. "when": "editorTextFocus"
  10. }
  11. ]
ft_authoradmin  ft_create_time2017-08-18 10:44
 ft_update_time2017-10-29 14:42