В этом разделе я ознакомлю Вас с несколькими средами разработки (IDE), которые помогут Вам более эффективно программировать. Они обладают такими возможностями, как умное автодополнение и автоформатирование. Все они кроссплатформенные, поэтому шаги по настройке, которые я покажу, не будут слишком отличаться в зависимости от операционной системы, которую Вы используете.
LiteIDE - нетребовательная к ресурсам системы IDE с открытым исходным кодом, которая предназначена для разработки проектов только на Go. Она разработана visualfc.
Рисунок 1.4 Главная панель LiteIDE
Отличительные черты LiteIDE:
- Кроссплатформенность
- Windows
- Linux
- Mac OS
- Кросскомпилируемость
- Поддерживает разные среды компиляции
- Поддерживает кросс-компиляцию проектов на Go
- Управление проектами
- Представление документации основано на $GOPATH
- Система компиляции основана на $GOPATH
- Документация API основана на $GOPATH
- Редактор исходного кода Go
- Схема кода
- Полная поддержка gocode
- Доступ к документации Go и содержанию API
- Просмотр выражений языка через
F1
- Переход к декларациям функций по
F2
- Поддержка Gdb
- Автоформат через
gofmt
- Другое
- Поддержка множества языков
- Система плагинов
- Темы текстового редактора
- Поддержка синтаксиса основана на Kate
- Умное полнотекстовое автодополнение
- Настраиваемые сочетания клавиш для быстрого выполнения задач
- Поддержка Markdown
- Предпросмотр в реальном времени
- Настраиваемые CSS
- Экспорт в HTML и PDF
- Конвертация и слияние в HTML и PDF
-
Установите LiteIDE:
Сначала установите Go, затем скачайте версию LiteIDE, соответствующую Вашей операционной системе. Распакуйте скачанный пакет.
-
Установите gocode:
Для того, чтобы заработало автодополнение, установите gocode.
go get -u github.com/nsf/gocode
-
Настройте среду компиляции:
Теперь измените конфигурацию LiteIDE согласно Вашей операционной системе. В Windows, если Вы используете 64-битную версию Go, Вам нужно выбрать на панели инструментов win64 в качестве среды конфигурации. Затем выберите
opinion
, найдитеLiteEnv
в левом списке и откройтеwin64.env
в правом списке.GOROOT=c:\go GOBIN= GOARCH=amd64 GOOS=windows CGO_ENABLED=1 PATH=%GOBIN%;%GOROOT%\bin;%PATH% 。。。
Замените
GOROOT=c:\go
на свой путь установки Go, сохраните. Если у Вас есть MinGW64, добавьте в переменную окружения path значениеc:\MinGW64\bin
для поддержкиcgo
.В 64-битном Linux нужно выбрать linux64 на панели инструментов в качестве среды конфигурации. Затем выберите
opinion
, найдитеLiteEnv
в левом списке и выберите файлlinux64.env
в правом.GOROOT=$HOME/go GOBIN= GOARCH=amd64 GOOS=linux CGO_ENABLED=1 PATH=$GOBIN:$GOROOT/bin:$PATH 。。。
Замените
GOROOT=$HOME/go
на тот, где у Вас установлен Go, сохраните. -
$GOPATH
$GOPATH - это путь, указывающий на то, где находятся проекты. Для получения подробностей откройте командную строку (или нажмите
Ctrl+`пробел
в LiteIDE), а затем напечатайтеgo help gopath
. В LiteIDE очень легко увидеть и изменить значение $GOPATH. Для этого зайдите вView - Setup GOPATH
.
Сейчас я хочу рассказать про Sublime Text 2 (для краткости Sublime) + GoSublime + gocode + MarGo. И вот почему:
-
Умное автодополнение
Рисунок 1.5 Умное автодополнение Sublime
-
Автоформатирование исходных кодов
-
Управление проектами
Рисунок 1.6 Управление проектами в Sublime
-
Подсветка синтаксиса
-
Пробный период без функциональных ограничений навсегда. Вам могут напоминать о том, что нужно приобрести лицензию, но можно это игнорировать, если хотите. Конечно же, если Вы поймете, что Sublime увеличил Вашу производительность, и Вам он нравится, приобретите, пожалуйста, лицензионную копию и поддержите таким образом развитие проекта!
Сначала скачайте версию Sublime, соответствующую Вашей операционной системе.
-
Нажмите
Ctrl+`пробел
, откройте командную строку и введите следующие команды:import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Пожалуйста, перезапустите Sublime Text для завершения установки'
Когда процесс установки закончится, перезапустите Sublime Text. Затем найдите опцию
Package Control
в меню "Preferences".Рисунок 1.7 Sublime Package Control
-
Для установки GoSublime, SidebarEnhancements и Go Build, нажмите
Ctrl+Shift+p
, чтобы открыть управление пакетами, затем напечатайтеpcip
(сокращение от "Package Control: Install Package").Рисунок 1.8 Установка пакетов Sublime
Теперь введите "GoSublime", нажмите OK для установки пакета и повторите те же шаги для установки SidebarEnhancements и Go Build. По завершении установки снова перезапустите редактор.
-
Чтобы проверить, успешно ли прошла установка, откройте Sublime, откройте файл
main.go
и проверьте, правильно ли подсвечивается синтаксис. Напечатайтеimport
и проверьте, правильно ли работает автодополнение кода. После того, как Вы ввелиimport "fmt"
, напечатайтеfmt.
где-нибудь после выраженияimport
и проверьте, работает ли автодополнение для функций.Если все работает, это значит, что Вы все настроили правильно.
Если нет, еще раз проверьте значение переменной $PATH. Откройте терминал, выполните
gocode
. Если запуск не произошел, переменная $PATH настроена неправильно.
Vim - это популярный текстовый редактор для программистов, происшедший от своего предшественника Vi. У него есть функции умного автодополнения, компиляции и перехода к ошибкам.
Рисунок 1.8 Умное автодополнение для Go в Vim
-
Установите подсветку ситаксиса для Go:
cp -r $GOROOT/misc/vim/* ~/.vim/
-
Включите подсветку синтаксиса:
filetype plugin indent on syntax on
-
Установите gocode:
go get -u github.com/nsf/gocode
gocode по умолчанию будет установлен в
$GOBIN
. -
Настройте gocode:
~ cd $GOPATH/src/github.com/nsf/gocode/vim ~ ./update.bash ~ gocode set propose-builtins true propose-builtins true ~ gocode set lib-path "/home/border/gocode/pkg/linux_amd64" lib-path "/home/border/gocode/pkg/linux_amd64" ~ gocode set propose-builtins true lib-path "/home/border/gocode/pkg/linux_amd64"
Немного о конфигурации gocode:
propose-builtins: определяет, нужно ли включать умное автодополнение; по умолчанию false.
lib-path: изначально gocode ищет пакеты в
$GOPATH/pkg/$GOOS_$GOARCH
и$GOROOT/pkg/$GOOS_$GOARCH
. Эта настройка нужна для добавления дополнительных путей. -
Поздравляем! Попробуйте
:e main.go
для погружения в мир Go!
Emacs называют оружием Бога. Это не только редактор, но и мощная IDE.
Рисунок 1.10 Главная панель редактора Go в Emacs
-
Установите подсветку синтаксиса:
cp $GOROOT/misc/emacs/* ~/.emacs.d/
-
Установите gocode:
go get -u github.com/nsf/gocode
По умолчанию gocode будет установлен в
$GOBIN
. -
Настройте gocode:
~ cd $GOPATH/src/github.com/nsf/gocode/vim ~ ./update.bash ~ gocode set propose-builtins true propose-builtins true ~ gocode set lib-path "/home/border/gocode/pkg/linux_amd64" lib-path "/home/border/gocode/pkg/linux_amd64" ~ gocode set propose-builtins true lib-path "/home/border/gocode/pkg/linux_amd64"
-
Установите автодополнение:
Скачайте и распакуйте:
~ make install DIR=$HOME/.emacs.d/auto-complete
Настройте файл ~/.emacs:
;;auto-complete (require 'auto-complete-config) (add-to-list 'ac-dictionary-directories "~/.emacs.d/auto-complete/ac-dict") (ac-config-default) (local-set-key (kbd "M-/") 'semantic-complete-analyze-inline) (local-set-key "." 'semantic-complete-self-insert) (local-set-key ">" 'semantic-complete-self-insert)
Для более подробной информации пройдите по ссылке.
-
Настройте файл .emacs:
;; golang mode (require 'go-mode-load) (require 'go-autocomplete) ;; speedbar ;; (speedbar 1) (speedbar-add-supported-extension ".go") (add-hook 'go-mode-hook '(lambda () ;; gocode (auto-complete-mode 1) (setq ac-sources '(ac-source-go)) ;; Imenu & Speedbar (setq imenu-generic-expression '(("type" "^type *\\([^ \t\n\r\f]*\\)" 1) ("func" "^func *\\(.*\\) {" 1))) (imenu-add-to-menubar "Index") ;; Outline mode (make-local-variable 'outline-regexp) (setq outline-regexp "//\\.\\|//[^\r\n\f][^\r\n\f]\\|pack\\|func\\|impo\\|cons\\|var.\\|type\\|\t\t*....") (outline-minor-mode 1) (local-set-key "\M-a" 'outline-previous-visible-heading) (local-set-key "\M-e" 'outline-next-visible-heading) ;; Menu bar (require 'easymenu) (defconst go-hooked-menu '("Go tools" ["Go run buffer" go t] ["Go reformat buffer" go-fmt-buffer t] ["Go check buffer" go-fix-buffer t])) (easy-menu-define go-added-menu (current-local-map) "Go tools" go-hooked-menu) ;; Other (setq show-trailing-whitespace t) )) ;; helper function (defun go () "run current buffer" (interactive) (compile (concat "go run " (buffer-file-name)))) ;; helper function (defun go-fmt-buffer () "run gofmt on current buffer" (interactive) (if buffer-read-only (progn (ding) (message "Buffer is read only")) (let ((p (line-number-at-pos)) (filename (buffer-file-name)) (old-max-mini-window-height max-mini-window-height)) (show-all) (if (get-buffer "*Go Reformat Errors*") (progn (delete-windows-on "*Go Reformat Errors*") (kill-buffer "*Go Reformat Errors*"))) (setq max-mini-window-height 1) (if (= 0 (shell-command-on-region (point-min) (point-max) "gofmt" "*Go Reformat Output*" nil "*Go Reformat Errors*" t)) (progn (erase-buffer) (insert-buffer-substring "*Go Reformat Output*") (goto-char (point-min)) (forward-line (1- p))) (with-current-buffer "*Go Reformat Errors*" (progn (goto-char (point-min)) (while (re-search-forward "<standard input>" nil t) (replace-match filename)) (goto-char (point-min)) (compilation-mode)))) (setq max-mini-window-height old-max-mini-window-height) (delete-windows-on "*Go Reformat Output*") (kill-buffer "*Go Reformat Output*")))) ;; helper function (defun go-fix-buffer () "run gofix on current buffer" (interactive) (show-all) (shell-command-on-region (point-min) (point-max) "go tool fix -diff"))
-
Поздравляем, все готово! Панель скорости по умолчанию отключена - для включения удалите символы комментария в строке
;;(speedbar 1)
, или можно сделать это посредствомM-x speedbar
.
Eclipse также является отличным инструментом разработки. Я покажу Вам, как использовать его для того, чтобы писать программы на Go.
Рисунок 1.1 Основная панель Eclipse для редактирования кода на Go
-
Скачайте и установите Eclipse.
-
Скачайте goclipse http://code.google.com/p/goclipse/wiki/InstallationInstructions.
-
Скачайте gocode:
gocode на GitHub:
https://github.com/nsf/gocode
В Windows Вам нужно установить git, обычно мы используем msysgit.
В командной строке установите gocode:
go get -u github.com/nsf/gocode
Если хотите, можете установить его из исходных кодов.
-
Скачайте и установите MinGW.
-
Настройте плагины:
Windows->Preferences->Go
(1).Настройте компилятор Go.
Рисунок 1.12 Настройки Go в Eclipse
(2).Настройте gocode (если нужно), установите путь к gocode туда, где находится gocode.exe.
Рисунок 1.13 Настройки gocode
(3).Настройте gdb (по желанию), установите путь к gdb туда, где находится gdb.exe.
Рисунок 1.14 Установки gdb
-
Проверьте правильность установки:
Создайте новый проект Go и файл hello.go как на рисунке:
Рисунок 1.15 Создание нового проекта и файла
Протестируйте установку так (Вам нужно напечатать команду в консоли Eclipse):
Рисунок 1.16 Тестирование программы Go в Eclipse
Те, кто работал с Java, должны быть знакомы с этой IDE. Она поддерживает подсветку синтаксиса Go и умное автодополнение кода посредством плагина.
-
Скачайте IDEA, подойдут версии и Ultimate, и Community.
-
Установите плагин Go. Выберите
File - Setting - Plugins
, затем выберитеBrowser repo
. -
Выберите
golang
, затем двойным щелчком мышиdownload and install
и подождите, пока завершится загрузка.Нажмите
Apply
, затем перезапустите приложение. -
Теперь можно создавать проект Go.
Введите расположение Go sdk на следующем шаге - скорее всего, это $GOROOT.
Visual Studio Code это редактор кода, но при этом обладающий функциями IDE, полагающийся на расширения.
![](images/1.4.vscode1.png?raw=true)
-
Скачайте vscode.
-
Установите плагин Go. Выберите в левой панели
Расширения
или нажмитеCTRL+SHIFT+X
, затем выберите в поиске расширенийGo
от likehoban. -
Также необходимо, чтобы уже был установлен Go, настроен GOROOT и GOPATH.
-
Далее необходимо установить дополнительные пакеты для Go:
Открываем в vscode любой go-файл, после чего в нижнем правом углу увидим сообщение “Analysis Tools Missing”. Надо нажать на это сообщение и недостающие пакеты установятся автоматически.
- Содержание
- Предыдуший раздел: Утилиты Go
- Следующий раздел: Итоги раздела