Home >Backend Development >Golang >What are golang IDEs?

What are golang IDEs?

(*-*)浩
(*-*)浩Original
2019-12-03 10:52:023054browse

In 2019, GO has been developing for ten years. During this period, many IDEs that can be used by the GO language appeared. It is unrealistic to introduce them all in detail. Next, I will focus on introducing several IDEs that I know better.

What are golang IDEs?

Goland

Goland, the Go integrated development environment launched by the commercial company jetbrains in the past two years, it is really Extremely powerful. (Recommended learning: go)

I believe many programs have used their IDE, such as Java's Intellj IDEA, PHP's PHPStorm, Python's PyCharm, and C's CLion , front-end WebStorm, etc. Using JetBrains' IDE, we can enjoy its excellent out-of-the-box experience and the plug-in system that jetbrains has accumulated for more than ten years.

In the past few years, that is, before Goland was released, if we wanted to use jetbrain's IDE for GO development, we needed to use the plug-in support it provides. After the release of Goland, these plug-ins appear to have been removed from the shelves.

I have to admit that Goland’s functionality is indeed perfect. However, there are a few points I want to complain about. First of all, I must mention that Jetbrians’ IDE basically suffers from lags and serious resource consumption. Although some experts have provided optimization solutions, after experience, it is still not comparable to other IDEs.

Goland is ready to use right out of the box, so there are very few problems with it. There really isn’t much to introduce, and you can basically start working after installing it!

VS Code

is a powerful modern lightweight code editor IDE developed by Microsoft, free and open source. Through its powerful plug-in extension capabilities, VS Code supports project development in almost all major languages. Without exception, GO is one of them.

To add GO's development capabilities to VS Code, you only need to install a plug-in, the plug-in address. During installation, you may encounter some problems. A common problem is that the network download fails when installing some dependent packages. I won’t go into details about the reason, everyone understands it. However, the problem still needs to be solved.

Give me a specific example! When using the GO plug-in, we will install a certain package through go get golang.org/x/tools/xxx. At this time, there is a high probability of a network connection error. We can find the corresponding warehouse, golang/tools, from github, then use the git command to download it, put it in the directory specified by GOPATH, and then install it.

Finally, as a digression, VS Code is developed using Electron. Electron is an open source library that uses HTML, CSS and JavaScript to build cross-platform desktop applications. It is a combination of NodeJS and Chromium. Therefore, using the characteristics of the browser and using VS Code, we can implement many weird plug-ins, such as the following plug-ins.

Vim GO

Upon closer inspection, vim should be a text editor, but it has many capabilities that should not belong to a text editor, such as word completion. Full, ctags tag jump, window separation, crashed file recovery, file diff, more than 400 kinds of text highlighting, etc. The most important point is that vim has its own scripting language, which makes it possible to extend its capabilities through plug-ins.

Expanding vim into a GO IDE suitable for your own use requires not only writing many complex configurations and scripts, but also the cooperation of various plug-ins to achieve our goals.

The above is the detailed content of What are golang IDEs?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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
Previous article:How to use golang httpNext article:How to use golang http