barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 21 июня 2019 г.

Visual Studio Code: начало работы с Go

Пара заметок о том, как настроить Visual Studio Code для работы с Go. Сразу оговорюсь: и в Visual Studio Code, и в Go я пока совершенно профан :)
  1. Ставим Visual Studio Code (далее - VSC, https://code.visualstudio.com)
  2. Идем по ссылке https://code.visualstudio.com/docs/languages/go и устанавливаем расширение для работы в VSC с Go
  3. Открываем любой go-файл или создаем свой новый с каким-нибудь простейшим содержимым, вроде этого:
    package main
    import (
    "fmt"
    "math/rand"
    )
    func main() {
    fmt.Println("My favorite number is", rand.Intn(10))
    }
  4. Появится всплывающая подсказка в нижнем правом углу об отсутствии некоторых расширений. Жмем Install All. Если вы за прокси-сервером, придется настроить работу через прокси:
    1. В самом VSC: File -> Preferences -> Settings, в верхнем правом углу нажимаем кнопку "{}" для переключения в json-представлению настроек. Добавляем строки:
      "http.proxy": "http://mylogin:mypass@proxy.mycompany.com:8080",
      "http.proxyStrictSSL": false,
      Логин/пароль при необходимости нужно urlencode-ить.
    2. Для Git (если это еще не сделано): в домашней директории пользователя создаем/открываем .gitconfig и добавляем туда:
      [http]
      proxy = http://mylogin:mypass@proxy.mycompany.com:8080
      Аналогично, логин/пароль при необходимости urlencode-им.
  5. Аналогично предыдущему пункту открываем settings.json студии. Добавляем следующие строки:
        "go.buildOnSave": true,
        "go.lintOnSave": true,
        "go.vetOnSave": true,
        "go.buildFlags": [],
        "go.lintFlags": [],
        "go.vetFlags": [],
        "go.useCodeSnippetsOnFunctionSuggest": false,
        "go.formatOnSave": false,
        "go.formatTool": "goreturns"
  6. Перезапускаем VCS
  7. Добавляем директорию, где лежит go-файл, который мы хотим скомпилировать и запустить, в Workspace (File -> Add folder to workspace)
  8. При открытом go-файле нажимаем ctrl+shift+B, студия предложит создать tasks.json. Соглашаемся
  9. Задаем для tasks.json содержимое вида:
    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Build and run",
                "type": "shell",
                "command": "go build ; ./Go.exe", // применимо только для Win!
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
  10. Все, по Ctrl+Shift+B наш go-файл компилируется и запускается