GoLand 2022.3

Incluye mejoras de rendimiento, así como nuevas características para genéricos y espacios de trabajo Go.
Diciembre 2, 2022
Nueva versión

Características

  • Performance improvements
    • go list changes to improve indexing - When you open a project, GoLand indexes the files and runs the go list command, which reports information about the project structure. Indexing is paused while go list is running, and you don’t have access to code insight features until indexing is finished.
    • Restore project structure from cache on open - When you open a project, the information reported by go list is now saved to the disk in cache memory. When you open that project again, the data about the project’s structure is loaded from memory and considered when indexing starts. As a result, indexing continues without pauses and finishes faster, and the code insight features are available much sooner after opening the project.
    • Faster IDE startup and project opening - GoLand has received a number of other performance improvements designed to decrease the time it takes to launch applications and open projects in JetBrains IDEs. As a result, overall startup performance - including editor restoration - has been improved by around 30%.
  • Generics
    • Test generation for generic functions - You can now generate tests for functions with generic parameters.
    • Quick-fix to capitalize type parameters - Added an inspection that detects lowercase type parameters, as well as a quick-fix to make them uppercase.
  • Go workspaces
    • The Go Workspace File action - In the New context menu, you’ll now find the Go Workspace File action. When you select it, a go.work file will appear in your root folder. Existing Go modules will automatically be added to the go.work file.
    • Generate go.work using replace directives - You can now generate go.work from go.mod if you are using replace directives.
  • Go doc comments
    • Support for links - Added references to doc links in GoLand. Clicking on them leads to the referenced element, while clicking on a text link leads to a text-link definition. Both text and doc links are rendered as links in the Quick Documentation popup and the Documentation tool window.
    • Support for new headings - Starting from Go 1.19, a heading is a line that begins with a number sign (#) followed by a space and the heading text. New headings are rendered as HTML headings in GoLand's Quick Documentation popup and the Documentation tool window.
    • Support for lists - Lists are now rendered as HTML lists in GoLand's Quick Documentation popup and the Documentation tool window.
  • Integrated Go Playground
    • Integrated the Go Playground functionality inside GoLand.
  • New quick-fixes
    • Quick-fix for invalid recursive type - If your type contains itself, you will get an "Invalid recursive type" error. To avoid this, you should include a pointer to a type, not a type itself. There is now a quick-fix for that.
  • Editor
    • Code Vision - Code authors are displayed if version control integration is enabled. If you click on a code author's name, the Annotate with Git blame sidebar opens, letting you see who introduced various changes. Usages are now displayed near all functions and types that show how many times the function or type is referenced in the current project.
    • Inlay hints for constant definitions - GoLand now shows inlay hints for constant definition blocks. This is particularly useful in iota-derived constant blocks, where the hints show the iota values associated with each position.
    • Auto-generated protobuf fields ignored for Fill all fields - The IDE now ignores auto-generated protocol buffer fields that start with XXX_ when you invoke the Fill all fields intention action. These fields are shown only after you invoke completion for the second time.
  • Other Go-related features
    • Go environment variables displayed in the settings - GoLand now automatically picks up system variables related to Go modules and displays them in the Environment variables dialog window.
    • Package names always shown in Quick documentation - The IDE now always shows package names in the Quick documentation popup for top-level declarations. Previously, package headers were shown only when doc.go or <pkg_name>.go files were found.
    • Increased file size limit - Increased the file size limit from 2.5 MB to 10 MB. Code insight features, like navigation and highlighting, don't work for files that exceed the size limit. While the 2.5 MB limit was enough for most files, there are projects with files bigger than that - for instance, the AWS SDK or GCP.
    • The Receiver names are different inspection ignores generated code - Since the Receiver names are different, inspection is not relevant for generated code, it has been disabled for files that contain a comment matching the following regular expression: ^// Code generated .* DO NOT EDIT\.$.
  • HTTP Client
    • Pre-request scripts and new APIs for JavaScript handlers - The HTTP Client now supports executing script blocks before requests.
  • Docker
    • Docker executable from WSL without Docker Desktop - Added support for connections to Docker that run in Microsoft Windows Subsystem for Linux (WSL).
    • New intention action: Pull Docker image - Added an easy way to pull a required image without running it from a Dockerfile, docker-compose.yml, or even from tests that use Testcontainers.
    • Support for the .dockerignore file type - Added full support for .dockerignore files, including code highlighting and completion. These files are now taken into account when you build an image from the IDE.
    • Support for the heredoc format in Dockerfile files - Here documents allow you to redirect subsequent Dockerfile lines to the input of RUN or COPY commands. GoLand now supports this syntax, so you can use it to generate config files or multiline scripts right in your Dockerfiles.
    • Docker Connections From Docker Contexts - Added the ability to set up additional Docker connections using Docker Contexts.
  • Remote development (Beta)
    • Your IDE backend can now launch directly in WSL 2, and you can connect to it the same way you would connect to any remote machine when using remote development in GoLand.
  • User interface
    • New UI available - You can now switch to the new UI in Settings | Appearance & Behavior | New UI Preview.
    • Intention action preview enabled by default - The preview functionality for intention actions is now switched on by default, so you can instantly see how your code will be altered once you apply the IDE's suggestions.
    • Dock tool windows to floating editor tabs - To make it easier to arrange your working space and interact with GoLand on multiple monitors, the option to drag tool windows out of the main window and dock them to floating editor tabs has been added.
    • Improved Tips of the Day - Enhanced the Tips of the Day feature, a learning tool that helps you explore GoLand.
    • Updated bookmarks - It is again possible to bookmark files from editor tabs. Just right-click on a tab to invoke the context menu and select Bookmarks. You can add all of the files in all currently open tabs to Bookmarks.
    • New Settings Sync solution - To avoid the confusion from having two similar bundled plugins, the features sets of the IDE Settings Sync and Settings Repository have been merged into a single solution - the new Settings Sync plugin.
  • Databases
    • Redis support - Added support for Redis.
    • Quick filter - Added the ability to filter objects when using quick search in the Database Explorer. All non-matching objects will be hidden.
  • Web development
    • Code Vision for JavaScript and TypeScript - Added the new Code Vision feature for web development. It gathers various metrics for types and type members in your JavaScript and TypeScript code and displays this information near their declarations.
  • Other updates
    • Quick-fix to suppress inspections in YAML - Added a new quick-fix to suppress inspections with a comment in YAML files, including Kubernetes files, OpenAPI specifications, and docker-compose.yml files. An option to fold multiline comments that make up a block of 3 or more lines and start with # has also been added.
    • Installers for Windows ARM64 - Installers for Windows ARM64 are now being distributed.
go list changes to improve indexing

GoLand

Un IDE multiplataforma creado especialmente para desarrolladores de Go.

GoLand también está disponible en:

¿Alguna pregunta?

Chatee en vivo ahora mismo con nuestros especialistas en licencias de JetBrains.