{
  "slug": "Best-List-of-Vscode-Plugin-as-Golang-developer-in-Backend-position-4c3c945a903c",
  "title": "Best List of Vscode Plugin as Golang developer in Backend position",
  "subtitle": "When I was a child, I decided to use only open-source tools. It was a hard decision at the time because many open-source tools weren’t…",
  "excerpt": "When I was a child, I decided to use only open-source tools. It was a hard decision at the time because many open-source tools weren’t…",
  "date": "2022-09-08",
  "tags": [
    "Star",
    "Go",
    "Machine Learning"
  ],
  "readingTime": "4 min",
  "url": "https://medium.com/@mobinshaterian/best-list-of-vscode-plugin-as-golang-developer-in-backend-position-4c3c945a903c",
  "hero": "https://cdn-images-1.medium.com/max/800/1*VDpCccZqafI1lZeG02e2Tw.png",
  "content": [
    {
      "type": "heading",
      "level": 2,
      "text": "Best List of Vscode Plugin as Golang developer in Backend position"
    },
    {
      "type": "paragraph",
      "html": "When I was a child, I decided to use only open-source tools. It was a hard decision at the time because many open-source tools weren’t performing well."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*VDpCccZqafI1lZeG02e2Tw.png",
      "alt": "https://triplebyte.com/blog/editor-report-the-rise-of-visual-studio-code",
      "caption": "https://triplebyte.com/blog/editor-report-the-rise-of-visual-studio-code",
      "width": 824,
      "height": 596
    },
    {
      "type": "paragraph",
      "html": "As Stallman said, “Value your freedom, or you will lose it, teaches history.” Using open-source tools is worth the trouble."
    },
    {
      "type": "paragraph",
      "html": "In my experience switching from IntelliJ Idea to Vscode is the scariest work for developers because when developers habits to their Idea environment, it is so hard to change their traditions."
    },
    {
      "type": "paragraph",
      "html": "After investigating Vscode and compare with IntelliJ, I finally decided to uninstall IntelliJ and migrate to Vscode.But after installing Vscode Idea, I found out which features Intelij didn’t support.Let’s jump to the Plugins of Vscode Idea that every Golang developer needs."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Vscode Idea Plugins"
    },
    {
      "type": "paragraph",
      "html": "As a Golang developer, an Idea is essential to making the application. If I have good tools as a developer, I can make code faster and produce fewer bugs."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "The number of plugins that you want to install on Vscode must be optimized"
    },
    {
      "type": "paragraph",
      "html": "Warning: if increase the number of plugins on your Vscode presumably your Vscode become lazy to load and become heavy and make some issues for you."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "1.Git Graph"
    },
    {
      "type": "paragraph",
      "html": "One of my biggest scares about migrating from Intelij to Vscode Idea is how to get merge conflict between branches or fix merge conflict in one branch. Git Graph is the best solution that I can see what happens in the git history."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*d4mcbkIrtkkdnGsoiaUsAw.gif",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 1208,
      "height": 682
    },
    {
      "type": "heading",
      "level": 2,
      "text": "2.GitHub Copilot"
    },
    {
      "type": "paragraph",
      "html": "This plugin is not free, but it can guess new codes based on your previous once. It’s save a lot of time."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*TYVefcnnZipulCjfC_eBZw.gif",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 1728,
      "height": 1080
    },
    {
      "type": "heading",
      "level": 2,
      "text": "3.Tabnine AI Autocomplete for Javascript, Python, Typescript, PHP, Go, Java, Ruby & more"
    },
    {
      "type": "paragraph",
      "html": "This plugin recommends codes based on machine learning, and it’s so helpful tool."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*Z52VcFM2NIflivwh7Jy2_Q.gif",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 480,
      "height": 270
    },
    {
      "type": "heading",
      "level": 2,
      "text": "4. Error Lens"
    },
    {
      "type": "paragraph",
      "html": "I Extremely recommend The Error Lens because I can see errors immediately. I don’t know why IntelliJ doesn’t have this future."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "5.Material Icon Theme"
    },
    {
      "type": "paragraph",
      "html": "Add lots of icons to Vscode Idea."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*ZF1NDQXbeqx1qEywTpd_kQ.png",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 573,
      "height": 236
    },
    {
      "type": "heading",
      "level": 2,
      "text": "6.One Dark Pro"
    },
    {
      "type": "paragraph",
      "html": "Colorize code for more readability."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*l78at_GDQTwkwPPnGIuaPA.png",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 2306,
      "height": 1768
    },
    {
      "type": "heading",
      "level": 2,
      "text": "7.Paste JSON as Code"
    },
    {
      "type": "paragraph",
      "html": "Assume a plugin for changing JSON to the struct. Many times need to change JSON to Golang struct, and this plugin easily converts it to Golang. Just write below the command:"
    },
    {
      "type": "code",
      "lang": "go",
      "code": "Open quicktype time for Json"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "8.Prettier Code formatter"
    },
    {
      "type": "paragraph",
      "html": "This plugin easily Prettier the code"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "9.Bookmarks"
    },
    {
      "type": "paragraph",
      "html": "This is such a simple plugin and a handy tool. Whenever I want to develop code, I need to open ten different files and lose the development path. The bookmark can easily save the file in a particular part with unique tags, which I have never seen in the future in IntelliJ Idea."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "10. Bracket Pair Colorizer"
    },
    {
      "type": "paragraph",
      "html": "After many years this plugin became a native feature in Vscode Idea and was helpful. When working with lots of Parentheses, It was necessary to install this plugin."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "11.Code Runner"
    },
    {
      "type": "paragraph",
      "html": "It is such a fantastic feature that you can run it immediately."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*OAD4CzbkQz05eCqvy_XNsg.gif",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 1860,
      "height": 1220
    },
    {
      "type": "heading",
      "level": 2,
      "text": "12.Docker"
    },
    {
      "type": "paragraph",
      "html": "It highlights docker files and explorer docker as an easy way."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*Zw9zVwzoxFURWevRLYXXUg.gif",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 531,
      "height": 544
    },
    {
      "type": "heading",
      "level": 2,
      "text": "13. Git Lens"
    },
    {
      "type": "paragraph",
      "html": "If you want to see the previous commit and compare it with the last head, the Git lens is the best tool that does this work."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*rDDkmugwCN8uXajJbJgcsw.gif",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 747,
      "height": 610
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens\" target=\"_blank\" rel=\"noreferrer noopener\">https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens</a>"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "14.Go for Visual Studio Code"
    },
    {
      "type": "paragraph",
      "html": "Certainly, I need this package. I can easily recommend command in Golang."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*zFoBsP5eVVkOsOacx6VuYQ.gif",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 2366,
      "height": 958
    },
    {
      "type": "heading",
      "level": 2,
      "text": "15.Golang postfix code completion"
    },
    {
      "type": "paragraph",
      "html": "This package uses some abbreviations for easy coding."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*utQAz7oAJzcujSQvPY-ymg.png",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 444,
      "height": 668
    },
    {
      "type": "heading",
      "level": 2,
      "text": "16.vscode-proto3"
    },
    {
      "type": "paragraph",
      "html": "Make Proto is so easily with this plugin."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*-RZDKFZKvkCg04goS66maw.gif",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 722,
      "height": 406
    },
    {
      "type": "heading",
      "level": 2,
      "text": "17.Prettify JSON"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "18.Code Spell Checker"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "19. codeium"
    },
    {
      "type": "paragraph",
      "html": "AI Assiatant tools"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Other feature"
    },
    {
      "type": "paragraph",
      "html": "Furthermore, of these plugins, I found two exciting futures in Vscode that are amazing."
    },
    {
      "type": "paragraph",
      "html": "<code>Cntl +&nbsp;.</code>"
    },
    {
      "type": "paragraph",
      "html": "For fill struct from the primary resource."
    },
    {
      "type": "paragraph",
      "html": "<code>Cntl + d</code>"
    },
    {
      "type": "paragraph",
      "html": "To select multi same word simultaneously."
    },
    {
      "type": "code",
      "lang": "text",
      "code": "Cntl + F12"
    },
    {
      "type": "paragraph",
      "html": "This command is used to go to implement the function."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Setting.json configuration"
    },
    {
      "type": "paragraph",
      "html": "by pressing the keys shift+ctrl+p simultaneously."
    },
    {
      "type": "code",
      "lang": "jsonc",
      "code": "{\n  \"security.workspace.trust.untrustedFiles\": \"open\",\n  \"editor.largeFileOptimizations\": false,\n  \"explorer.confirmDelete\": false,\n  \"editor.minimap.showSlider\": \"always\",\n  \"editor.minimap.size\": \"fit\",\n  \"git.autofetch\": true,\n  \"tabnine.experimentalAutoImports\": true,\n  \"workbench.colorTheme\": \"One Dark Pro Flat\",\n  \"workbench.iconTheme\": \"material-icon-theme\",\n  \"settingsSync.ignoredExtensions\": [],\n  \"files.autoSave\": \"afterDelay\",\n  \"files.autoSaveDelay\": 10000,\n  \"go.toolsManagement.autoUpdate\": true,\n  \"[json]\": {\n    \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n  },\n  \"redhat.telemetry.enabled\": true,\n  \"workbench.editor.enablePreview\": false,\n}"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Run test case in Golnag with .env file"
    },
    {
      "type": "paragraph",
      "html": "You can add the following snippets to VSCode <code>settings.json</code> to specify environment variables just for <code>go test</code> runs:"
    },
    {
      "type": "code",
      "lang": "json",
      "code": "{\n  \"go.testEnvVars\": {\n    \"MY_VAR\": \"my value\"\n  }\n}"
    },
    {
      "type": "paragraph",
      "html": "Or using a dedicated file (in my example, called&nbsp;<code>.env</code> in the root of project workspace) containing the environment variables in <code>MY_VAR=\"my value\"</code> format with one variable per line:"
    },
    {
      "type": "code",
      "lang": "json",
      "code": "{\n  \"go.testEnvFile\": \"${workspaceFolder}/.env\"\n}"
    },
    {
      "type": "heading",
      "level": 3,
      "text": "https://stackoverflow.com/users/497127/blami"
    },
    {
      "type": "paragraph",
      "html": "<a href=\"https://stackoverflow.com/questions/70254196/is-there-a-best-practice-to-setup-golang-unit-test-parameters\" target=\"_blank\" rel=\"noreferrer noopener\">https://stackoverflow.com/questions/70254196/is-there-a-best-practice-to-setup-golang-unit-test-parameters</a>"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Debug Golang with vscode"
    },
    {
      "type": "paragraph",
      "html": "Make&nbsp;.vscode directory in your project."
    },
    {
      "type": "paragraph",
      "html": "Put launch.json file inside the folder."
    },
    {
      "type": "paragraph",
      "html": "and put the JSON below inside the file."
    },
    {
      "type": "paragraph",
      "html": "then press Cntl + F5"
    },
    {
      "type": "code",
      "lang": "json",
      "code": "{    // Use IntelliSense to learn about possible attributes.    // Hover to view descriptions of\nexisting attributes.    // For more information, visit:\nhttps://go.microsoft.com/fwlink/?linkid=830387    \"version\": \"0.2.0\",    \"configurations\": [\n{            \"name\": \"Launch Package\",            \"type\": \"go\",            \"request\": \"launch\",\n\"mode\": \"auto\",            \"program\": \"main.go\",            \"envFile\": \"${workspaceFolder}/.env\"\n}    ]}"
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Reload Vscode"
    },
    {
      "type": "code",
      "lang": "go",
      "code": "Open a file and type anything.    Press Ctrl+Shift+P -> Reload Window."
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Stash in VScode"
    },
    {
      "type": "paragraph",
      "html": "Vscode supports stash and has a very nice UI to handle this feature."
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*Oelv4dWLT8wggGBcXogWsA.png",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 1113,
      "height": 803
    },
    {
      "type": "heading",
      "level": 2,
      "text": "Collapse all methods in Visual Studio Code"
    },
    {
      "type": "image",
      "src": "https://cdn-images-1.medium.com/max/800/1*zYZTtYbPAy6ILnPYyaK_MA.png",
      "alt": "Best List of Vscode Plugin as Golang developer in Backend position",
      "caption": "",
      "width": 671,
      "height": 355
    }
  ]
}
