Cài đặt môi trường lập trình Go trên hệ thống Linux và Windows

Thiết lập môi trường Go

Đường dẫn tải về

Tải trực tiếp: https://golang.org/dl/ hoặc sử dụng bản mirror Trung Quốc (khuyến nghị): https://golang.google.cn/dl/

Cài đặt trên Windows

Chạy file .exe đã tải về với quyền quản trị, thực hiện các bước cài đặt tiêu chuẩn.

Cài đặt trên Linux

Kết nối đến máy chủ Linux và thực hiện tải về:

wget https://dl.google.com/go/go1.14.linux-amd64.tar.gz --no-check-certificate

Giải nén và cấu hình hệ thống

# Giải nén vào thư mục /usr/local/ (thư mục kết quả có tên là go)
sudo tar -C /usr/local -xzf go1.14.linux-amd64.tar.gz

# Thêm đường dẫn /usr/local/bin vào biến môi trường PATH để hệ thống nhận diện lệnh go
echo 'export GOROOT=/usr/local/go' | sudo tee /etc/profile.d/golang.sh
echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee -a /etc/profile.d/golang.sh

Cài đặt và cấu hình Visual Studio Code

  1. Tải từ trang chủ: https://code.visualstudio.com/#alt-downloads - chọn phiên bản phù hợp với hệ điều hành
  2. Mở bảng điều khiển Extensions trong VSCode
  3. Cài đặt tiện ích mở rộng Go và gói ngôn ngữ tiếng Trung
  4. Cài đặt các thành phần hỗ trợ phát triển Go

Các phương pháp hỗ trợ phát triển

Hai phương pháp phổ biến hiện nay:

  • Phương pháp truyền thống: Sử dụng nhiều công cụ độc lập như gocode (đề xuất mã), guru (điều hướng mã nguồn)...
  • Phương pháp hiện đại: Sử dụng Language Server chính thức của Google "gopls" cho các tính năng nâng cao

Do sự ra đời của go mod, phương pháp truyền thống gặp nhiều vấn đề (như không hiển thị gợi ý mã đúng cách), nên khuyến nghị chuyển sang dùng gopls chính thức.

Cài đặt gopls

Nếu mạng ổn định, thực hiện trực tiếp:

go install golang.org/x/tools/gopls@latest

Với môi trường mạng bị giới hạn, sử dụng proxy:

go env -w GOPROXY=https://proxy.golang.org,direct
go install golang.org/x/tools/gopls@latest

Cấu hình trong VSCode (Ctrl + Shift + P)

{
    "go.useLanguageServer": true,
    "[go]": {
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": true,
        },
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        "editor.snippetSuggestions": "top"
    },
    "[go.mod]": {
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        }
    },
    "gopls": {
        "usePlaceholders": true,
        "staticcheck": false
    }
}

Thẻ: Go golang linux Windows VSCode

Đăng vào ngày 9 tháng 7 lúc 15:30