본문으로 바로가기

[GoLang] Go 개발 환경 구축하기 (VS Code, vim)

category Language/Go 2019. 8. 1. 20:34

GOPATH 설정이 끝난것을 가정하고 작성되었습니다.

이전글을 참조해주세요

이전글 : Go 설치하기(윈도우/리눅스)

 

Go를 위한 다른 작업환경들(LiteIDE, vim, Atom, emacs 등등)이 많지만

저는 vscode를 선호합니다.

그러니 vscode에 환경을 구축해봅시다.

VSCode

일단 vscode에서 go 플러그인을 설치합니다.

vscode

이후에 편집기 화면에 오면

ㅇㅅㅇ

요렇게 생긴게 나오면서 설치하라고 합니다. 설치하라니 일단 설치해줍시다.

 

:D

설치가 끝나면 뭔가 Go를 사용할 준비가 됬다고 나옵니다.

 

그래서 F5를 눌러서 실행해봤더니

으아니...

뭔가 또 설치하라고 합니다...

설치해줍시다.

아까랑 뭔가 다르긴 다른데?

아까랑 비슷한 결과창이 뜨면서 설치가 완료되었습니다.

 

이제 다시 F5를 눌러서 실행해봅시다.

 

정상적으로 Hello World가 출력됩니다.

 

 

 

이제 gofmt(포맷)과 goimports 도구를 연동해봅시다.

먼저

ctrl + ,

을 눌러 설정에 들어간 후에 확장->go configuration에서 setting.json편집을 합니다.

setting.json을 아래처럼 편집합니다.
여기서 go.goroot와 go.gopath는 자신의 goroot와 gopath로 설정합니다.
go env를 확인하세요!!!

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
    "go.buildOnSave"true,
    "go.lintOnSave"true,
    "go.vetOnSave"true,
    "go.buildTags""",
    "go.buildFlags": [],
    "go.lintFlags": [],
    "go.vetFlags": [],
    "go.coverOnSave"false,
    "go.useCodeSnippetsOnFunctionSuggest"false,
    "go.formatOnSave"true,
    // goreturns 은 goimports(자동 임포트), gofmt(자동 포맷팅)를 사용하고 리턴코드도 자동으로 채워준다.
    "go.formatTool""goreturns",
    "go.gocodeAutoBuild"false,
    // 맥,리눅스 기준
    //"go.goroot": "/usr/local/go",
    //"go.gopath": "/home/nam/projects/go"
    // 윈도우 기준
    "go.goroot""c:\\go",
    "go.gopath""d:\\projects\\Go"
}
cs

저장하려고 하면 아마 오른쪽 밑에 goreturn을 설치하라는 내용이 뜰겁니다.

설치해줍시다.

 

제대로 설치가 끝나면

이제 저장할때 자동으로 go표준에 맞춰주면서 필요한 패키지를 소스에 넣어줍니다.

중간에 go표준으로 정렬하고싶으면 alt+shift+f 를 누르면 됩니다.

 

vim

vim은 pathogen을 사용한다는 가정하에 설명합니다.

git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go

와 같이 클론하면 vim-go 를 사용 가능합니다.

 

Go 코드 실행

:GoRun

빌드

:make

:GoBuild

에러체크

:GoErrCheck

패키지 임포트

:GoImport fmt

 

등등으로 사용 가능합니다.

 

 

공부를 위해 정리하고 있는것이기 때문에 오류가 있으면 댓글로 알려주세요

'Language > Go' 카테고리의 다른 글

[GoLang] 연산자  (0) 2019.08.08
[GoLang] 자료형, 변수, 상수  (0) 2019.08.04
[GoLang] Go 설치하기 (리눅스/윈도우)  (0) 2019.08.01
[GoLang] Hello, playground  (0) 2019.08.01
[GoLang] Go를 시작하며  (0) 2019.08.01