Windows 환경에서 Go 언어 개발 환경 구축 및 VS Code 설정 가이드

1. Go 설치

공식 Go 다운로드 페이지에서 운영체제에 맞는 설치 파일을 다운로드하여 설치를 진행합니다. 기본 설치 경로는 C:\Go입니다.

2. 환경 변수 구성

두 개의 주요 환경 변수를 설정해야 합니다:

  • GOROOT: Go 설치 디렉터리 (예: C:\Go)
  • GOPATH: 작업 디렉터리 (예: D:\GoProjects)

또한 %GOROOT%\bin%GOPATH%\bin을 시스템 PATH 변수에 추가해야 합니다.

3. VS Code 설치 및 확장 설정

3.1 Go 확장 플러그인 설치

VS Code 실행 후 확장 마켓플레이스(Ctrl+Shift+X)에서 "Go"를 검색하여 첫 번째 항목을 설치합니다.

3.2 프로젝트 디렉터리 생성

터미널을 열고 GOPATH로 설정한 디렉터리로 이동한 후 다음 명령어로 폴더 구조를 만듭니다:

mkdir -p src/github.com/golang/tools
mkdir -p src/github.org/x
mkdir -p demo

demo 폴더에 hello.go 파일을 생성하고 기본 코드를 작성합니다:

package main

import "fmt"

func main() {
    fmt.Printf("Hello World!")
}

3.3 Go 모듈 및 프록시 설정

터미널에서 다음 명령어를 실행하여 Go 모듈 시스템을 활성화하고 국내 프록시를 설정합니다:

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

이 설정은 패키지 다운로드 속도를 크게 향상시킵니다.

3.4 필수 도구 설치

VS Code를 다시 열고 Ctrl+Shift+P를 눌러 명령 팔레트를 열고 "Go: Install/Update Tools"를 실행합니다. 나타나는 목록에서 모든 항목을 선택하고 설치를 진행합니다. 성공적으로 설치된 도구 목록:

  • gocode
  • gopkgs
  • go-outline
  • go-symbols
  • guru
  • gorename
  • gotests
  • gomodifytags
  • impl (일부 실패 가능)
  • fillstruct
  • goplay
  • godoctor
  • dlv (디버거)
  • gocode-gomod
  • godef
  • goreturns
  • golint

설치가 완료되면 src\github.com\golang\tools 디렉터리를 src\github.org\x\tools로 복사합니다.

3.5 디버거(dlv) 수동 설치

만약 dlv가 자동으로 설치되지 않았다면 다음 명령어를 실행합니다:

go get github.com/go-delve/delve/cmd/dlv

이 명령어는 %GOPATH%\src\github.com\go-delve\delve에 소스 코드를 다운로드하고 dlv 바이너리를 컴파일합니다.

3.6 디버깅 환경 설정

VS Code 왼쪽의 디버그 아이콘(벌레 모양)을 클릭하고 launch.json 파일을 생성합니다. 다음 설정을 추가합니다:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "D:\\GoProjects\\demo\\hello.go",
            "args": []
        }
    ]
}

program 항목은 실제 디버깅할 파일의 절대 경로로 변경합니다.

디버깅 전에 모듈 모드를 비활성화해야 할 수 있습니다:

go env -w GO111MODULE=off

4. 환경 적용

VS Code를 완전히 재시작하면 모든 설정이 적용됩니다. 이후 코드에 중단점을 설정하고 F5를 눌러 디버깅을 시작할 수 있습니다.

태그: go VS Code Windows 환경 설정 디버깅

6월 18일 16:04에 게시됨