-
Go 개발환경 구축하기 - 우분투 Atom 설치 및 Go 플러그인 설치IT 생활/Go 프로그래밍 2020. 6. 11. 01:14
오늘은 Go관련해서 3번째 포스팅으로 Go 개발 환경 구축에 대해서 다뤄보고자 합니다.
이전 포스팅에서 Go 설치하는 방법과 기초적인 Go 문법을 어디서 공부할 수 있는지 포스팅을 했었는데요.
혹시 못보신 분들은 아래 링크를 참고해주세요.
새로운 언어를 배울 때는 전통적으로 hello world를 출력 프로그램을 사용하는데요.
Go 공식 사이트에서도 Go 설치 후 동작 확인을 위해서 hello world 프로그램을 작성해서 실행해보도록 합니다.
제가 집에서 리눅스를 메인으로 쓰고 있다보니 vi를 사용했었고 Go 문법 공부할 때는 학습 사이트에서 제공하는 웹 에디터를 사용했해서 딱히 별도의 에디터나 IDE를 설치하지 않았었는데요.
Go 언어를 지원하는 에디터나 IDE를 사용하면 확실히 개발의 편의성이 높아질 겁니다.
Go 공식사이트에서는 Go를 지원하는 IDE와 에디터에 대해서 안내하고 있습니다.
https://golang.org/doc/editors.html
접속해서 보시면 가장 인기가 있는 IDE와 에디터로 vim, Visual Studio Code, GoLand, Atom을 언급하고 있습니다. 그 이외에 소프트웨어는 위키 내용을 참고하라고 합니다.
위키에 들어가 보면 개발하면서 사용해 봤거나 들어본 프로그램들이 많이 있습니다. 평소에 사용하던 에디터나 IDE에서 Go를 지원하면 바로 플러그인 설치로 사용할 수 있을 것 같습니다.
저는 JetBrain사의 IntelliJ와 PyCharm을 사용하고 있어서 JetBrain의 IDE를 사용할까 했었는데요.
Go는 유료로 제공하고 하고 있네요. (IntelliJ IDEA Ultimate 버전 Go플러그인, GoLand)
개인프로젝트로 사용할 것이라서 유료까지는 필요없어서 평소에 많이 사용하던 Atom을 이용하도록 하겠습니다.
본 포스팅에서는 우분투에서 Atom을 설치하고 Go프로그램을 하는 방법에 대해서 설명하도록 하겠습니다.
Atom 설치
Atom 공식 사이트에 가면 운영체제 별 설치 파일을 제공하고 있습니다.
사용하고 있는 운영체제에 맞춰서 다운로드 받아서 설치하면 됩니다.
리눅스의 경우에는 deb과 rpm으로 제공이 되는데요.
Cannonical의 snap을 이용하면 설치도 간편하고 버전 관리도 쉬우니 snap 설치하도록 하겠습니다.
snap 설치는 다음 명령으로 할 수 있습니다.
$ sudo apt-get install snap
snap으로 설치 가능한 프로그램들은 snapcraft에 가면 확인 할 수 있습니다.
상단 메뉴에 Store를 가면 카테고리 별로 프로그램들이 정리되어 있고 검색도 가능합니다.
검색 결과로 나온 Atom을 선택합니다.
현재 최신 버전이 1.47.0이네요.
Install 버튼을 누릅니다.
snap으로 설치하는 cli가 제공되어 있습니다. 복사해서 터미널에서 실행해 줍니다.
설치가 마무리 되면 snap에서 Atom이 추가되어 있는 것을 볼 수 있습니다.
Atom 실행
터미널에서 atom 명령으로 실행할 수 있습니다.
$ atom
Go 플러그인 설치
Atom 실행화면에서 Welcome Guide창에 있는 "Install a Package"를 클릭하면 인스톨러 창으로 갈 수 있는 버튼이 보입니다. "Open Installer" 버튼을 누릅니다.
Welcome Guilde 창이 보이지 않는 분은 상단 메뉴에서 Edit -> Perferences로 Settings 창을 열고 "Install" 항목을 선택하면 패키지 설치 창으로 가게 됩니다.
포스트 초반에 언급했던 Go 공식 사이트의 IDE/editor 설명 페이지를 보면 Atom의 Go-plus 플러그인을 사용하라고 하고 있습니다. 그럼 Atom의 패키지 설치 창에서 Go-plus를 검색해서 설치 합니다.
go-plus의 공식 사이트에 가보면 플러그인의 기능들에 대해서 설명하고 있습니다.
- 현재 설치되어 있는 Go의 정보를 go version과 go env를 통해서 제공합니다.
- gocode를 이용해서 자동완성을 제공합니다.
- gofmt, goimports, goreturns를 이용하여 .go 파일에 대해서 포맷을 지원합니다.
- go install .과 go test -c -o {tempdir} . 를 수행해서 컴파일 가능 여부를 확인하고 gocode 제안을 최신으로 유지합니다.
- golint, vet와 같은 linter를 지원합니다.
- go test -coverprofile로 테스트를 수행하고 테스트 결과와 테스트 커버리지를 제공합니다.
- gogetdoc로 코드 내의 식별자를 문서화 합니다.
- gorename으로 심볼의 이름을 변경할 수 있습니다.
- guru나 godef로 "Go to definition" 기능을 제공합니다.
- guru를 이용해서 식별자에 하이라이팅을 제공합니다.
- guru를 이용하여 식별자 사용처 찾기를 제공합니다.
go-plus의 기능을 위해서 툴들이 필요로 하다보니 설치가 되어 있지 않으면 go-plus에서 설치를 하려고 합니다. 만약에 설치가 정상적으로 되지 않으면 직접 설치해주라고 안내되어 있네요. 필요한 툴과 설치 방법은 다음과 같습니다.
$ go get -u golang.org/x/tools/cmd/goimports $ go get -u golang.org/x/tools/cmd/gorename $ go get -u github.com/sqs/goreturns $ go get -u github.com/mdempsky/gocode $ go get -u github.com/alecthomas/gometalinter $ go get -u github.com/mgechev/revive $ go get -u github.com/golangci/golangci-lint/cmd/golangci-lint $ go get -u github.com/zmb3/gogetdoc $ go get -u github.com/zmb3/goaddimport $ go get -u github.com/rogpeppe/godef $ go get -u golang.org/x/tools/cmd/guru $ go get -u github.com/fatih/gomodifytags $ go get -u github.com/tpng/gopkgs $ go get -u github.com/ramya-rao-a/go-outline
Go 언어 지원 확인Go 언어 지원 확인
원하는 위치에 go_test 디렉토리를 하나 만들고 test.go 파일을 만들어 줍니다.
$ mkdir go_test $ cd go_test $ touch test.go
Atom에서 방금 만들어 준 go_test 디렉토리를 프로젝트 디렉토리로 등록합니다.
상단 메뉴의 File -> Add Project Folder에서 go_test를 등록합니다.
test.go 파일을 열어서 Hello world를 출력하는 프로그램을 작성해 봅니다.
보시면 Go의 키워드가 하이라이트 되는 것을 볼 수 있습니다.
우클릭을 해보면 "Go" 메뉴가 추가되어 있으며 Go와 관련된 기능들이 Go-plus 플러그인이 설치 된 이후에 추가된 것을 확인 할 수 있습니다.
화면 하단쪽에서 ^ 버튼을 누르면 go-plus의 이벤트를 확인 가능한 창을 볼 수 있으니 참고하세요.
이상으로 Go 개발을 위한 Atom 설치 및 Go 플러그인에 대한 설명을 마치도록 하겠습니다.
'IT 생활 > Go 프로그래밍' 카테고리의 다른 글
[vim-go] vim에 go 플러그인 설치하기 (0) 2021.12.12 Golang에서 MongoDB 연결하기 - MongoDB Go Driver 설치 (0) 2020.07.06 Go 프레임워크 - echo 설치하기 (0) 2020.06.19 Golang 초보자를 위한 유용한 사이트 (0) 2020.06.10 GO 언어 시작하기 (0) 2020.04.01