GoLand 2023.2

Migliora l'integrazione con i moduli Go e i refactoring per la migrazione dei parametri delle funzioni ai ricevitori di metodi.
Luglio 31, 2023
Nuova versione

Funzionalità

Go modules

  • Option to download modules automatically - Added the ability to download Go modules automatically on project open and after each change to the go.mod file.
  • Intention actions to update dependencies in go.mod - Added several intention actions and inspections to help you update dependencies in go.mod files faster. Now, when you open your go.mod file, GoLand highlights outdated dependencies. You can hover over the highlighted versions of a given package and use a quick-fix to update it. You can also update all dependencies to their latest patches or major versions, and there is an option to update only direct dependencies.
  • Option to disable vendoring - You can now disable vendoring per project, for example, when you have a monorepo containing a vendor folder used by another language.

Refactorings

  • Function parameter and method receiver migration - GoLand offers two new refactorings: Migrate function parameter to method receiver and Migrate method receiver to function parameter. The Migrate function parameter to method receiver refactoring can convert a function to a method of a type. Migrate method receiver to function parameter does the opposite; it converts a method of a type to a function.

Error handling

  • Support for errors.Is and errors.As - Added two inspections that will highlight the cases where errors.Is or errors.As should be used. There are also quick-fixes that will help you refactor the existing code to errors.Is or errors.As usages.

Go 1.21

  • Support for min, max, and clear - GoLand now provides basic support for min, max, and clear - new functions which were introduced in Go 1.21.

Improvements for make

  • Completion for make function arguments - Added type-aware code completion for make function invocations.
  • Checks for make function arguments - GoLand can now detect errors and redundant arguments in make functions. There is also a quick-fix to remove redundant arguments, which you can access via Alt+Enter, as usual.

Other Go-related features

  • Receiver type completion suggestion for method expressions - When you call a method directly on a type, you need to provide the receiver type as the first argument. In these cases, GoLand now shows the receiver as the first parameter in the completion suggestions.
  • Generics: Improved error message for missing arguments - The error message for missing type arguments in a type's instantiation now explicitly tells you what's wrong.
  • Preview for the Wrap error handling in a closure intention action - Added a preview for the Wrap error handling in a closure intention action. You can disable the preview feature by pressing Ctrl+Q while the list of intention actions is open, and it will remain disabled until you use the same shortcut to turn it back on.
  • Warning for redundant conditions in for loops - GoLand now shows a warning message for redundant conditions in for loops. There is also a quick-fix to remove the redundant condition.

AI Assistant

  • AI Assistant [Limited access] - With this release, AI Assistant has been introduced. With the current starting set of AI-powered features, AI Assistant offers integrated AI chat and can do things like automatically write documentation comments for you, suggest names, generate commit messages, and more.

Docker

  • Preview of files inside Docker image layers - It is now easy to access and preview the contents of a Docker image layer in the Services tool window. Select the image from the list, select Show layers, and click Analyze image for more information. This opens a list of the files stored in the layer, from which you can easily open the selected file in the editor by right-clicking on the file and clicking Open File (or Download File for binaries).
  • Set Docker container to run as a Before Launch task for run configurations - It is now possible to set a Docker run configuration to run before another configuration by designating it as a Before Launch task. The IDE will wait for the container that is currently running to become healthy, and then it will launch the next run configuration.

Kubernetes plugin

  • Support for multiple kubeconfig files within a single project - A new feature has been introduced that allows you to set up multiple kubeconfig files within a single project. This simplifies the experience of handling multiple clusters or working with environments on different clusters in the same project.
  • Ability to view deployment logs - You can now view logs for deployments in Kubernetes clusters in the Services tool window. Right-click on Deployment in the tree and then select Follow Log or Download Log from the context menu.

Performance

  • New tool for easily generating shared indexes - Added a new command line tool for quickly building and uploading shared indexes. It is designed to streamline teamwork and eliminate time wasted on locally indexing large projects. The new tool simplifies the process of generating shared indexes for your team, requiring just a few clicks instead of multiple scripts and services.

Version control

  • Option to commit specific lines of code - This release introduces a new feature to selectively commit specific parts of code chunks. To perform a partial commit, select the lines within a chunk and call Include these lines into commit from the context menu. The chunk will be divided into individual lines, with the selected ones highlighted. You can add or exclude lines from the selection using checkboxes or the context menu.

GitLab integration

  • This release introduces integration with GitLab to streamline your development workflow. You can now work with the Merge Request functionality right from the IDE: review the list of requests, check the changes, leave comments, and navigate to relevant views.

Kafka plugin

  • The new Kafka plugin lets you monitor your Kafka event streaming processes. You can connect to a Kafka cluster, produce and consume messages in different formats, manage topics and monitor consumer groups, and use Confluent Schema Registry and AWS Glue Schema Registry.

User experience

  • Bundled Microsoft Visual Studio Code keymap - If you're accustomed to the VS Code keymap, you can now choose it in the Customize section on the Welcome screen. You can also change your keymap in Settings | Keymap.File sorting by modification time in the Project view - Added the ability to arrange your files in the Project view based on their modification times. This new functionality automatically reorders the files whenever the changes in your project are saved.
  • Pinned run configurations in the Run widget - To make managing multiple run configurations easier, the option to pin preferred configurations in the Run widget has been implemented.
  • Improved main toolbar customization - The customization options for the new UI's main toolbar have been expanded. You can now use a dropdown menu to quickly choose actions that you want to add to the toolbar.
  • Reworked hamburger menu in the main toolbar on Microsoft Windows and Linux - The behavior of the hamburger menu that is located in the main toolbar in the new UI on Windows and Linux has been refined. Once you click on the menu icon, the elements now appear horizontally over the toolbar. Also, there's now an option to turn this menu into a separate toolbar, accessible via View | Appearance | Main menu as a Separate Toolbar.
  • Single-click navigation between project directories - In the Project view, there's a new Open Directories with Single Click option that makes expanding and collapsing the project folders quicker and more responsive. The option is available from the drop-down menu once you click on the kebab (three vertical dots) menu.
  • Text search in Search Everywhere - Search Everywhere (Double Shift) is primarily used for searching through files, classes, methods, actions, and settings. With this update, it now includes text search capabilities similar to Find in Files. Now, text search results are displayed when there are few or no other search results available for a given query.
  • Syntax highlighting in inspection descriptions - Syntax highlighting makes it easier to understand what triggers an inspection and decide whether you want it to be active or inactive.
  • Suggested plugins in Settings - To make it easier to configure the IDE for your specific projects and extend its functionality with plugins, the UI for the Settings | Plugins section has been updated. It now includes a set of suggested plugins that is automatically defined based on your project specifics and appears at the top of the list.

User interface

  • Colored project headers in the new UI - GoLand introduces colored headers to simplify navigation between several open projects. You can now assign a unique color and icon to each of your projects, making it easier to distinguish between them in your workspace.
  • Light theme with light header in the new UI - The user experience with the Light theme has been refined by introducing the alternate Light with Light Header option, featuring matching light colors for window headers, tooltips, and notification balloons.
  • Updated UI for the Run/Debug widget in the Services tool window - The UI for the running and debugging actions in the Services tool window has been reworked to make the look and feel of the toolbar consistent with that of the main Run/Debug widget.
  • Removed title bar on Linux in the new UI - For the convenience of Linux users, the native header of the operating system has been removed in the new UI, resulting in a cleaner interface. By default, you will now see the custom IDE header, which offers a range of customization options to tailor your workspace.

HTTP Client

  • Support for Swagger and OpenAPI schemas - The HTTP Client is now capable of understanding Swagger and OpenAPI specifications and providing corresponding code completion options for JSON request bodies.
  • Support for JavaScript imports - It is now possible to share common JavaScript code for HTTP Client request handlers via imported modules.
  • PDF and HTML previews for responses - GoLand is now able to display previews of PDF and HTML files right in the request results in the HTTP Client.
  • gRPC requests using TLS in the HTTP Client - TLS provides encryption and authentication, ensuring the confidentiality and integrity of your data transmission. Both https:// and grpcs:// schemas are supported in the request syntax.

Web development

  • Improved error formatting - In this release, your errors and warnings will now be formatted in a more readable way, making it easier to spot problems in your code. This works for all TypeScript errors and some of the most common JavaScript errors.
  • CSS nesting support - GoLand now supports CSS nesting. Syntax support has been implemented and an inspection that alerts you if the nested selector starts with an identifier or functional notation has been added.

Other

  • Inspection for the Norway problem in YAML files - Added a new inspection to eliminate the so-called Norway problem and prevent the unintended misinterpretation of Boolean values in YAML files. When a list primarily consists of strings but contains a Boolean-like literal, GoLand will highlight this literal, indicating a potential inconsistency, and suggest adding quotes to it. If the list is mainly composed of Boolean-like literals (such as true, false, off, on, yes, no), any literal that deviates from this pattern is highlighted as a possible error, although no specific quick-fixes are suggested in this scenario.
  • Improvements for Swagger Codegen - The IDE now provides a better user experience when setting up Swagger Codegen configurations. The Edit Swagger Codegen Configuration dialog has been reworked to make it easier for you to tailor the run configuration to your requirements. Additionally, you can now access the Swagger Codegen run configuration right from the gutter without having to specify any additional settings.
  • Redoc UI previews for OpenAPI and Swagger files - GoLand now supports Redoc UI previews for OpenAPI and Swagger specification files, including YAML and JSON files, allowing you to switch between the Redoc and Swagger UIs within the IDE. With the Redocly integration, you can access the Try it console from within GoLand and use it to set parameters and send requests to your API.
  • Support for editing AsyncAPI files - Working with the AsyncAPI specification format in GoLand is now much easier. The IDE supports schema validation functionality and provides code completion for references, the Endpoints view, and the Editor Preview pane.
  • LSP API for plugin developers - Introduced an LSP API for plugin developers who want to use a specific LSP server for coding assistance in the IDE. If you've made your own programming language or framework, you can get it supported in the IDE by creating an LSP server and a plugin.
GoLand

GoLand

Un IDE multipiattaforma creato appositamente per gli sviluppatori Go.

GoLand è disponibile anche in:

Hai una domanda?

Chatta live con i nostri specialisti di gestione delle licenze di JetBrains ora.