Ide для golang windows

  1. Documentation

  2. Editor plugins and IDEs

Introduction

This document lists commonly used editor plugins and IDEs from the Go ecosystem
that make Go development more productive and seamless.
A comprehensive list of editor support and IDEs for Go development is available at
the wiki.

Options

The Go ecosystem provides a variety of editor plugins and IDEs to enhance your day-to-day
editing, navigation, testing, and debugging experience.

  • Visual Studio Code:
    Go extension provides support for the Go programming language
  • GoLand: GoLand is distributed either as a standalone IDE
    or as a plugin for IntelliJ IDEA Ultimate
  • vim: vim-go plugin provides Go programming language support

Note that these are only a few top solutions; a more comprehensive
community-maintained list of
IDEs and text editor plugins
is available at the Wiki.

IDE — это мощный инструмент, который объединяет редактор кода, отладчик, систему управления версиями и много других полезных функций. В статье рассказываем, где писать на Go начинающим и опытным программистам.

Особенности GOLANG

Go или Golang — это язык программирования, разработанный Google в 2007 году. Его создали, чтобы решить проблемы, с которыми обычно сталкиваются программисты, например, медленная компиляция, низкая производительность, сложности в отладке и т.д.

У Golang простой синтаксис и много полезных Go фреймворков. Обычно этот язык используют для: 

  • Веб-разработки: создания веб-приложений и API;
  • Системного программирования: разработки программного обеспечения, инструментов и утилит;
  • Создания облачных приложений: сервисов и микросервисов;
  • DevOps: автоматизации процессов сборки, например, на Go написаны Docker и Kubernetes.

В рейтинге Tiobe Go занимает 8 место по популярности среди всех языков программирования.

Зачем нужен IDE для Go

IDE (Integrated Development Environment) — это интегрированная среда разработки. Она упрощает работу с кодом, т.к. объединяет несколько разных инструментов: 

  • Редактор кода: позволяет выделять ключевые слова, функции и переменные; 
  • Автозаполнение: подсказывает возможные команды или названия переменных;
  • Отладка: помогает находить и устранять ошибки;
  • Управление проектами: помогает организовать файлы, упрощает навигацию и управление зависимостями;
  • Интеграция: поддерживает работу с Git, разработчики могут работать в команде и отслеживать изменения в коде.

Лучшие IDE для Go

Для программирования на Go чаще всего используют эти IDE:

Visual Studio Code

Легковесный редактор от Microsoft для работы с разными языками программирования: Python, Go, Ruby, C#, TypeScript. Имеет интуитивно понятный интерфейс, подсветку синтаксиса, автодополнение, интеграцию с Git.

Программа с открытым исходным кодом, полностью бесплатная, однако не является полноценной IDE. Чтобы получить доступ ко всем функциям, необходимо установить расширения. 

Visual Studio Code

Visual Studio Code. Источник

LiteIDE

Легкая среда разработки для Golang. Поддерживает Go-специфичные функции, например, управление пакетами и отладку.

Go IDE работает на Windows, MacOSX, Linux и OpenBSD 5.6. Программа простая в использовании, но по сравнению с крупными IDE имеет ограниченные возможности.

LiteIDE

LiteIDE. Источник

Goland

Goland — это среда разработки для программистов, которые работают на Go. У нее удобный интерфейс, навигация, есть автодополнение кода, анализ ошибок, форматирование и рефакторинг.

Программа платная, подойдет профессиональным разработчикам для работы над большими проектами.

Goland

Goland. Источник

Wide

Легкая текстовая среда для работы с Go. Подходит программистам, которые ищут минималистичный редактор для быстрой работы с кодом. 

В отличие от полноценных Go IDE имеет не так много возможностей для отладки. А еще большая часть официальной документации написана на китайском языке.

Wide

Wide. Источник

Vim

Текстовый редактор с поддержкой плагинов и скриптов. Работает в терминале без графического интерфейса, поэтому доступен на любых системах. 

Одна из главных особенностей Vim — полный отказ от мыши. Все управление происходит с помощью клавиатуры — через сочетания клавиш и текстовые команды. Так сложилось исторически, ведь первая версия Vi была создана еще в 1976 году. 

Современный Vim очень быстрый и поддерживает разные языки программирования (Ruby, Python, CSS, HTML). Для работы с Go можно использовать плагин vim-go. 

Vim

Vim. Источник

Eclipse 

Популярная IDE для Java, PHP, C++, Python. Для программирования на Go используют плагин GoClipse.

В Eclipse есть много полезных функций: автоматические отступы, уведомления об ошибках синтаксиса и сборки, отладка, автозавершение кода. Но работает она медленнее, чем другие Go IDE и требует более производительного железа.

Eclipse

Eclipse. Источник

Komodo

Многоязычная IDE для программирования на Python, Perl, Ruby и Go. Имеет много встроенных функций: автоматическое завершение кода, проверку синтаксиса, модульное тестирование и др. Еще в Komodo есть инструменты для совместной работы — несколько программистов могут редактировать документ одновременно. 

Программа платная, подойдет разработчикам, которые пишут на разных языках и нуждаются во многофункциональной среде. Новичкам интерфейс может показаться сложным.

Komodo

Komodo. Источник

Sublime Text

Текстовый редактор для разработчиков и верстальщиков. Для работы с Go используют плагин GoSublime. В IDE есть подсветка синтаксиса, автоматическое удаление неиспользуемых объектов, импорт модулей, кастомизация и много других полезных функций. Программа платная, но есть бесплатная демоверсия. 

Sublime Text

Sublime Text. Источник

IntelliJ IDEA

Среда разработки для Java, JavaScript, Python и Go (поддержка через плагин Golang IntelliJ). У программы простое управление и хорошая производительность. Она использует метод быстрого индексирования и выводит контекстные подсказки в коде.

IntelliJ идеальна для больших проектов и работы в команде. Для небольших задач может быть избыточной. 

IntelliJIDEA

IntelliJIDEA. Источник

Atom 

Текстовый редактор для Linux, macOS и Windows с возможностью добавления плагинов. У него не так много встроенных функций по сравнению с полноценными Go IDE, зато работает бесплатно, имеет простой интуитивно понятный интерфейс и высокую кастомизацию.

Для поддержки Go используют плагин Go-plus. Он обеспечивает мгновенную обратную связь о синтаксисе и ошибках сборки.

Atom

Atom. Источник

Какую IDE выбрать

Выбирая среду разработки Golang, учитывайте: 

  • Свой уровень: начинающим Go-программистам лучше выбрать легкий текстовый редактор с функцией подсветки синтаксиса и автозаполнением, например Sublime Text или Atom. Для работы с большими проектами нужны более сложные программы, типа Visual Studio Code или Goland; 
  • Язык программирования: если вы пишете на разных языках, нужна универсальная IDE, типа Komodo. Если вы программируете только на Go, лучше выбрать среду, которая изначально разработана для этого языка — Goland или Wide; 
  • Поддержку контроля версий: она есть не у всех Go IDE, но необходима, если вы работаете в команде или храните код в репозиториях;
  • Производительность: некоторые программы могут потреблять много ресурсов и не подходят для устаревшего железа, например Eclipse. Если вы давно не обновляли компьютер, выбирайте легкие и быстрые редакторы типа Sublime Text;
  • Кроссплатформенность: важно для тех, кто работает на разных операционных системах или планирует менять их в будущем. Это позволит легко переключаться между устройствами без необходимости переустанавливать или настраивать новую среду.

Правильный выбор IDE для Go может значительно упростить работу и повысить производительность. Попробуйте разные редакторы, чтобы найти тот, который подходит вам.

GoLand

Download

Время на прочтение3 мин

Количество просмотров117K

Update (22.07.2013)

С момента изначального написания статьи многое изменилось. Я немного обновил пост, чтобы в сети не висела устаревшая инструкция.

Вместо вступления

Если кто не знает, Go (www.golang.org) – компилируемый язык программирования. Как и все хочет быть «лучше чем C». Разработку языка поддерживает Google (создатели языка — Rob Pike, Robert Griesemer и Ken Tompson), но Go — полностью open-source, в разработке принимает участие большое количество людей не из Google. Меня язык заинтересовал своей простотой и необычным подходом к ООП и многопоточности. Захотелось попробовать. Моя рабочая OS — Windows и будучи разбалованным платформой .Net, C# и Visual Studio мне было трудно именно начать. Хотя на самом деле это оказалось совсем просто, и достаточно быстро я настроил себе удобный Environment, состоящий, по сути, из IDE с подобием IntelliSense. О том, как это сделать за 15 минут я и хотел бы рассказать.

Установка Go

На момент последнего редактирования статьи, актуальная версия — Go 1.1.1. Дистрибутив можно скачать по ссылке: code.google.com/p/go/downloads/list. Дистрибутив выбираем в зависимости от разрядности установленной версии Windows: x64 — go1.1.1.windows-amd64.msi; x32 — go1.1.1.windows-386.msi. Скачиваем, устанавливаем. Теперь Go живет в C:\Go. Инсталлятор сам настроит нужные переменные среды.

Workspace

Теперь необходимо создать папку, которая будет чем-то вроде корневой рабочей директории. В составе дистрибутива Go идет утилита «go», которая «все в одном» — она используется для сборки проектов, для установки сторонник библиотек, для запуска тестов и т.п. Используется парадигма Convention over Configuration. Единственная настройка, которую нужно сделать — это добавить переменную среды GOPATH, в которой указать корневую папку, где у нас будут хранится все исходники наших и сторонних проектов, скомпилированные библиотеки и исполняемые файлы. Создаем такую папку: C:\gopath и добавляем переменную среды:

Также нужно добавить %GOPATH%\bin в перменную среды PATH.

Установка IDE

Перепробовав много различных редакторов текста и IDE, я остановил свой выбор на GoLangIDE (http://code.google.com/p/golangide/). Она очень легковесная, т.е. можно просто открыть file.go и скомпилировать его; но в то же время полностью поддерживает работу с проектами по Convention утилиты «go». Для debug’а в мире Go используют gdb, эта IDE интегрируется с gdb – можно ставить breakpoint’ы, просматривать значения локальных переменных.
В общем, скачиваем и распаковываем в C:\. Запускаем C:\liteide\bin\liteide.exe. Полу-русский язык советую сразу сменить на английский: Вид -> Options, меняем язык на English, “Применить”, надо перезапустить IDE.

Hello World

В последней версии GoLangIDE, аналог IntelliSense (GoCode) уже встроен и ничего дополнительно устанавливать не нужно. Поэтому сразу приступаем к делу:
Запускаем IDE, создаем новый проект (Ctrl+N):

Пишем fmt, ставим точку – видим выпадающий список функций.

Выбираем функцию (жмем Tab) — можно вводить параметры функции, жмем F1 — видим подсказку с сигнатурой функции.

Компилируем наш Hello World: Ctrl + B
Запускаем в отдельном окне консоли: Ctrl + Shift + F5

Вот собственно и все.

Что дальше?

По golang достаточно много хороших обучающих материалов. Моя коллекция ссылок:
tour.golang.org — интерактивный обучающий тур
golang.org/doc/effective_go.html — постарались передать main idea языка
golangtutorials.blogspot.com/2011/05/table-of-contents.html — коллекция отличных туториалов
miek.nl/files/go — OpenSource книжка по Go
В запросах поисковика нужно писать golang, а не просто go. Успехов!

Russian (Pусский) translation by Anna k.Ivanova (you can also view the original English article)

Go это фантастический язык программирования. Он также поставляется с комплексной цепочкой инструментов. Многие разработчики просто используют текстовые редакторы с или без плагинов для написания кода Go, но многие другие предпочитают использовать надлежащие IDE (интегрированные среды разработки).

В этом уроке вы узнаете о текущем состоянии Go IDE и будете готовы выбрать свое оружие.

Зачем использовать IDE?

Я всегда был большим поклонником IDE. В начале своей карьеры я использовал Microsoft Visual Studio для разработки C/C ++, а также C #. Я использовал NetBeans для короткого периода разработки Java. Я использовал JetBrains PyCharm для разработки на Python, и в настоящее время я использую JetBrains Gogland для разработки на Go.

Обычно я работаю с крупномасштабными программными системами, которые состоят из нескольких проектов с тысячами файлов. Мне нужна большая помощь с большой кодовой базой. Вот основные причины, по которым мне так нравятся IDE:

Интегрированная организация кода и навигация

С помощью хорошей IDE вы можете упорядочить свой код в иерархическом порядке, легко просматривать и перемещать его, а также быстро искать код. Среда IDE будет выполнять гораздо больше, чем просто текстовый поиск, и позволит вам выполнять фильтрацию по языковым конструкциям (например, показывать только классы или интерфейсы с определенным именем).

Комплексное тестирование

Комплексное тестирование также имеет решающее значение. Я трачу большую часть своего времени на разработку тестов — либо пишу их, пытаюсь заставить их пройти, либо исследую, почему тесты внезапно провалились. Хорошая IDE со встроенным тестированием позволит вам запускать тесты выборочно (все, только один проект, только неудачные тесты из предыдущего запуска), выделит сбои и позволит вам быстро перейти в нужное место в коде, чтобы исправить любые проблема.

Интегрированная отладка

Это, наверное, самая важная особенность для меня. Я люблю интегрированные отладчики. Я хочу иметь возможность добавлять точки останова (включая условные точки останова), просматривать трассировку стека и просматривать переменные в каждом фрейме.

Что касается бонусных баллов (спасибо PyCharm), мне нравится проводить сеанс интерактивной консоли при достижении точки останова. Альтернативы отладки printf (требующие изменения кода и перестройки) или просмотра файлов журналов (часто с недостаточной степенью детализации или большим количеством шума) являются гораздо более неприятными и менее производительными. Даже автономные отладчики, такие как gdb, не приближаются к производительности хорошего интегрированного отладчика.

Gogland

Gogland — это моя текущая Golang IDE. Это очень молодой продукт, который все еще находится на ранней стадии предварительного просмотра, но я все еще считаю его наиболее полным и интегрированным Go IDE. Он построен на прочной основе JetBrains, поэтому он чрезвычайно надежен и полон функциональности.

Редактор кода и помощь

Редактор кода Gogland великолепен. Вот некоторые из его возможностей:

  • Интерфейс с вкладками
  • Умное авто-завершение кода
  • Инспекции и быстрые исправления
  • Рефакторинг
  • Быстрая навигация
  • Быстрые всплывающие окна для документации, определения, использования, структуры и т.д.
  • Генерация кода (например, интерфейс реализации)
  • Обнаружение рекурсивных вызовов
  • Отображение типа любого выражения
  • Функция выделения точек выхода
  • Подсказки параметров

дебаггер

Отладчик Gogland превосходен. Он построен поверх Delve, который используется другими IDE, которые мы также рассматриваем. Он использует знакомые конфигурации отладки JetBrains для управления всем, что касается запуска отладки, таким как исполняемый двоичный файл, переменные среды, рабочий каталог и аргументы командной строки.

Вы можете установить контрольные точки, условные контрольные точки и часы. Когда достигается точка останова, вы можете наблюдать трассировку стека и локальные переменные в каждом кадре. К сожалению, глобальные переменные не отображаются и часто необходимы в Go.

У меня была одна проблема с отладчиком, когда точки останова срабатывали преждевременно! Рассмотрим следующий фрагмент кода:

1
x := 1
2
y := 3
3
z := x + y
4
fmt.Println(z)

Иногда, если я поставлю точку останова на последней строке, она попадет, но значение z будет 0, а не 4. Как это может быть? Оказывается, отладчик как-то запутался. Если я продолжу шагать по коду, он вернется к z: = x + y, назначит 4 для z, а затем снова вернется к последней строке и правильно выведет 4 на экран.

Я потратил пару часов, пытаясь отладить сложный кусок кода, не понимая, что не всегда получаю правильную картину. В конце концов, я выяснил, что происходит, и просто проигнорировал ложное раннее срабатывание точек останова.

Я не уверен, что это проблема Delve или Gogland, но я уверен, что они скоро это исправят. Помните, что это просто предварительный просмотр.

Запуск тестов

Тестовый прогон позволяет запускать, останавливать и перезапускать тесты. Я смог успешно использовать его для запуска и отладки модульных тестов, а также интеграционных тестов с использованием как пакета тестирования Go, так и среды тестирования BDD, такой как ginkgo.

Go Tools

Go поставляется с различными инструментами, и Gogland интегрирует их прямо в IDE. Вы можете вызвать любой инструмент из меню «Code | Go Tools». Встроенное форматирование кода Gogland использует стандартный инструмент «go fmt».

Контроль версий

Gogland наследует зрелую систему управления исходным кодом других продуктов JetBrains. Я использовал в первую очередь поддержку git, которая позволяет управлять несколькими проектами, отлично отображать ветки, множественные наборы изменений и многое другое. Другие системы контроля версий, такие как Mercurial и SVN, также поддерживаются с помощью дополнительных плагинов.

Интегрированный Терминал

Gogland предоставляет встроенный терминал на случай, если вам нужно будет выполнить некоторые команды. Приятно оставаться в IDE и иметь возможность просматривать или копировать из/в панели редактора, не переключая окна полностью.

Расширяемость

Gogland имеет множество встроенных возможностей, но он полностью расширяемый, и многие из его встроенных функций на самом деле являются предварительно загруженными плагинами. Вы можете установить много полезных плагинов, и вы можете разработать свои собственные плагины, если хотите.

Visual Studio Code

Visual Studio Code — это расширяемый редактор кода с открытым исходным кодом, разработанный в основном Microsoft (с большим вкладом сообщества). Он основан на Electron, который в свою очередь основан на Chromium. Visual Studio Code поддерживает множество языков и изначально ориентирован на веб-разработку. Он имеет сильную поддержку разработки Go, включая интеграцию всех инструментов Go и отладчика Delve через выделенное расширение. Вам нужно будет установить некоторые пакеты и инструменты Go, чтобы начать.

Visual Studio Code также предлагает встроенную интеграцию с git, иерархический обозреватель папок/файлов и интерфейс с вкладками.

Поддержка IntelliSense (автозаполнение, отображение типов параметров и документация) великолепна и обеспечивает очень приятный опыт редактирования. Встроенный отладчик (также использует Delve под капотом) очень хорошо сделан и соответствует отладчику Gogland.

Visual Studio Code очень отзывчив и быстр. Вот его существенный список возможностей:

  • Списки завершения (используя gocode)
  • Справка по подписи (с помощью gogetdoc или godef + godoc)
  • Сниппеты
  • Краткая информация (с помощью gogetdoc или godef + godoc)
  • Определение Goto (используется gogetdoc или godef + godoc)
  • Поиск ссылок (используя guru)
  • Ссылки CodeLens
  • Схема файла (используя go-outline)
  • Поиск символов рабочего пространства (с использованием go-символов)
  • Переименовать (используя gorename. Примечание. Чтобы отменить переименование для работы в Windows, необходимо иметь инструмент diff)
  • Build-on-save (используя go build и go test)
  • Lint-on-save (с использованием golint или gometalinter)
  • Формат (используя goreturns или goimports или gofmt)
  • Генерировать скелет юнит-тестов (используя gotests)
  • Добавить импорт (используя gopkgs)
  • Добавить/удалить теги в структурных полях (используя gomodifytags)
  • Семантические/синтаксические сообщения об ошибках при вводе (используя gotype-live)
  • Запускать тесты под курсором, в текущем файле, в текущем пакете, во всем рабочем пространстве (используя go test)

LiteIDE

LiteIDE очень необычный. Это был первый серьезный Go IDE, начатый еще в 2011/2012 году, и он все еще набирает силу. Это приложение C ++ Qt, и оно имеет собственный внешний вид. Подобно Gogland и Visual Studio Code, он использует инструменты Go и отладчик Delve для предоставления языковых услуг (хотя он начинался с отладчика gdb до того, как Delve был готов).

В целом, это полнофункциональная IDE, но она не выглядит такой отточенной. Насколько я могу судить, это в значительной степени работа одного человека, которая является экстраординарной. Вот разбивка функций LiteIDE.

Основные особенности

  • Управление системной средой
  • Настраиваемые команды сборки
  • Простая и открытая система отладки (поддерживает как gdb, так и Delve)
  • Kate формат для автозаполнения и тематики
  • Настраиваемое автозаполнение с WordApi
  • Система на основе MIME-типа
  • Поддержка плагинов
  • Быстрое открытие

«Golang» — поддержка

  • Пакетный браузер
  • Класс просмотра и наброски
  • Браузер документов
  • Поддержка Gocode
  • GOPATH API index
  • Навигация по коду
  • Поиск использований
  • Code Refactor
  • Go playground

Дополнительная поддержка

  • Markdown
  • JSON
  • Golang Present

Wide

Wide представляет интерес, потому что это выделенная веб-среда Golang. Он сосредоточен на совместной разработке и предназначен для команд. Разработчик — китаец, и большая часть документации на китайском языке, поэтому она может не подходить для всех. Он определенно не наравне с другими IDE с точки зрения функций и интеграции.

Go плагины для других IDE

Существует много универсальных сред разработки, которые поддерживают множество языков программирования, а также добавили поддержку языка Go. Я не большой поклонник таких сред. Я считаю, что интегрированная среда должна иметь глубоко интегрированные языковые особенности. Это трудно реализовать как простой плагин (хотя вы можете утверждать, что это именно то, что делает VS Code).

Некоторые популярные среды разработки, в которых добавлена поддержка Go:

  • Eclipse
  • Atom
  • Brackets
  • Komodo
  • Cloud9

Текстовые редакторы

Go это простой язык. Многие люди чувствуют себя очень продуктивно, просто используя текстовый редактор, возможно, с некоторыми дополнительными плагинами Go. Я не рассматриваю их как действительно интегрированные среды разработки. Но это имеет смысл, если у вас есть многолетний опыт работы с текстовым редактором, вы уже настроили его по своему вкусу и используете его для многих других задач. Вот список некоторых наиболее популярных текстовых редакторов и их плагинов Go:

Emacs

Со следующими плагинами:

  • go-mode
  • GoFlyMake Синтаксис в стиле Flymake для Go
  • go-errcheck.el Интеграция с Errcheck для Emacs

Sublime Text

С плагином GoSublime

Vim и NeoVim

С множеством плагинов Go.

  • vim-go
  • Syntastic
  • tagbar
  • vim-compiler-go
  • vim-godef
  • vim-go-extra

Заключение

Go прошел долгий путь и имеет мощную экосистему, включающую множество вариантов среды разработки. Отладчик Delve предоставляет фантастические возможности интерактивной отладки и используется большинством ведущих IDE. Поиграйте с этими IDE и найдите тот, который подходит вам больше всего.

Правильная IDE может сделать работу с Go еще более увлекательной.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Hp victus 16 драйвера для windows 11
  • Как чистить диск с на windows 10
  • Remote desktop windows 2008r2
  • Apache windows авторизация по паролю
  • Чем отличаются сборки windows 11