Table of Contents
Install VS Code
Install the Go language environment
Install the Go extension in VS Code
Create and configure a new Go project
Use VS Code to write Golang code
Use VS Code to debug Golang code
Summary
Home Backend Development Golang vscode builds golang

vscode builds golang

May 22, 2023 pm 04:15 PM

VS Code is an open source, cross-platform, lightweight integrated development environment (IDE) that can facilitate development and debugging. Golang is a programming language developed by Google and is favored by more and more developers. This article will introduce in detail how to set up a Golang development environment in VS Code.

Install VS Code

The official website of VS Code is [https://code.visualstudio.com/](https://code.visualstudio.com/), which can be downloaded from the official website All installation packages available for Windows, MacOS and Linux.

After the installation is completed, open VS Code, we need to do some preparations:

  1. Install the Go language environment and add it to the system environment variables.
  2. Install the Go extension in VS Code.

Install the Go language environment

The Go language installation package can be downloaded from the official website [https://golang.org/dl/](https://golang.org/dl/ ) download. Installation packages for a variety of operating systems and architectures are provided. Choose the installation package that suits your computer to download and install.

After the installation is completed, you need to add the Go language to the system environment variables:

  1. Open "System" ("System Configuration" under Windows 10) and click "Advanced System Settings" ".
  2. Click "Environment Variables".
  3. Find "Path" in "System Variables" and click "Edit".
  4. Click "New" in the pop-up window and enter C:Go in (the bin directory under the Go installation directory).
  5. Click "OK" to exit the settings dialog box, close all windows and reopen a command line tool.

If you have installed and added environment variables, you can enter go version on the command line to check whether the installation is successful.

Install the Go extension in VS Code

Open VS Code, click the Extensions icon in the left menu bar, or press the Ctrl Shift X shortcut key , pop up the extension panel.

Enter "Go" in the search box, find and install Microsoft's Go extension (named "Go" or "Go for Visual Studio Code"). After the installation is complete, you need to restart VS Code for it to take effect.

Create and configure a new Go project

In the VS Code interface, press the Ctrl Shift P shortcut key to pop up the command panel, enter " Go: Create New Project" and select a folder as the project directory. At this time, VS Code will automatically create a file named "go.mod", in which a new module will be initialized.

Module is a new code structure method provided after Golang 1.11, which is used to replace the old "GOPATH" directory and can better manage project dependencies. Each module in the Go language has a unique URL, and the module's URL can contain version information. For example, the following URLs are all legal module URLs:

github.com/mg/i            // 最新版本
github.com/mg/i@v1.0.0     // 指定版本 v1.0.0
github.com/mg/i@8543de4    // 指定提交 SHA1(短哈希)
Copy after login

A module URL will be initialized in the go.mod file, for example:

module example.com/mypackage
Copy after login

This URL represents a package called mypackage, which It belongs to the subdomain name of the example.com website. That is to say, when the project downloads dependencies, the dependencies will initiate requests from this URL. If there are any problems, it will try to switch to the next available version. For example, the following are the dependencies of mypackage:

require (
    github.com/lib/pq v1.8.0
    github.com/gorilla/mux v1.6.2
)
Copy after login

There are two items here, indicating that mypackage depends on the version numbers of the pq and mux libraries, among which v1.8.0 and v1.6.2 are their designated versions respectively. Number.

Use VS Code to write Golang code

Open the project folder in VS Code, select the main.go file, and enter the following code:

package main

import "fmt"

func main() {
    fmt.Printf("Hello, VSCode Golang
")
}
Copy after login

Then press Press the F5 key, and a pop-up box will pop up asking you what type of "configuration file" (Launch.json file) you want to create. Select "Go Mode" and follow the prompts to fill in the relevant configuration. Here, we select "Run current file", and then you can see "Hello, VSCode Golang" output in the "Terminal" area.

Use VS Code to debug Golang code

Using the debugging function of VS Code, you can easily monitor the execution of the code and locate code problems. The following are instructions for implementing a simple debugging example:

  1. Add fmt.Println("Before") before the main function.
  2. Press the F5 shortcut key to create and save the "Launch.json" configuration file.
  3. Add a breakpoint in the editor, press the Ctrl Shift P shortcut key, open the command panel, search for "Go: Run Without Debugging", select the command and run it, you can see There are two messages, "Before" and "After", with a break point in the middle.
  4. Open the "Launch.json" file, turn on the mode: debug option, and press F5 again to enter debugging mode (Debugging).
  5. Now run the previous command, the program will be stuck at the breakpoint location. You can use the "Variables" panel (Variables) to observe the running status of the variables, or you can use the Call Stack panel (Call Stack) to view function pointer tracing information. Use F10 for single-step debugging. Press Shift F5 to abort the current debugging session.

Summary

This article introduces how to build a Golang environment in VS Code, including installing the Go language environment, installing the Go extension of VS Code, creating and configuring a new Go Project, use VS Code to write and debug Golang code. I hope that through the introduction of this article, you can use VS Code to carry out Golang development work more conveniently.

The above is the detailed content of vscode builds golang. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the vulnerabilities of Debian OpenSSL What are the vulnerabilities of Debian OpenSSL Apr 02, 2025 am 07:30 AM

OpenSSL, as an open source library widely used in secure communications, provides encryption algorithms, keys and certificate management functions. However, there are some known security vulnerabilities in its historical version, some of which are extremely harmful. This article will focus on common vulnerabilities and response measures for OpenSSL in Debian systems. DebianOpenSSL known vulnerabilities: OpenSSL has experienced several serious vulnerabilities, such as: Heart Bleeding Vulnerability (CVE-2014-0160): This vulnerability affects OpenSSL 1.0.1 to 1.0.1f and 1.0.2 to 1.0.2 beta versions. An attacker can use this vulnerability to unauthorized read sensitive information on the server, including encryption keys, etc.

Transforming from front-end to back-end development, is it more promising to learn Java or Golang? Transforming from front-end to back-end development, is it more promising to learn Java or Golang? Apr 02, 2025 am 09:12 AM

Backend learning path: The exploration journey from front-end to back-end As a back-end beginner who transforms from front-end development, you already have the foundation of nodejs,...

How to specify the database associated with the model in Beego ORM? How to specify the database associated with the model in Beego ORM? Apr 02, 2025 pm 03:54 PM

Under the BeegoORM framework, how to specify the database associated with the model? Many Beego projects require multiple databases to be operated simultaneously. When using Beego...

What libraries are used for floating point number operations in Go? What libraries are used for floating point number operations in Go? Apr 02, 2025 pm 02:06 PM

The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

What is the problem with Queue thread in Go's crawler Colly? What is the problem with Queue thread in Go's crawler Colly? Apr 02, 2025 pm 02:09 PM

Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

What should I do if the custom structure labels in GoLand are not displayed? What should I do if the custom structure labels in GoLand are not displayed? Apr 02, 2025 pm 05:09 PM

What should I do if the custom structure labels in GoLand are not displayed? When using GoLand for Go language development, many developers will encounter custom structure tags...

How to solve the user_id type conversion problem when using Redis Stream to implement message queues in Go language? How to solve the user_id type conversion problem when using Redis Stream to implement message queues in Go language? Apr 02, 2025 pm 04:54 PM

The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

In Go, why does printing strings with Println and string() functions have different effects? In Go, why does printing strings with Println and string() functions have different effects? Apr 02, 2025 pm 02:03 PM

The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

See all articles