GoLand 2023.1

脆弱性チェッカーを追加し、gRPCコードナビゲーションを改善
4月 5, 2023
新バージョン

機能

Vulnerability checker

  • Highlight vulnerable packages - GoLand can now highlight packages with known vulnerabilities in go.mod.
  • Update vulnerable packages to the secure version - You can now place the cursor on a highlighted package in go.mod, press Alt+Enter, and choose the Change package-name version to v0.x.x quick-fix to update a dependency to a version that doesn't have vulnerabilities.
  • Highlight method calls from vulnerable packages - GoLand now also highlights method calls from packages with known vulnerabilities right in your editor. You can hover over highlighted code and see a popup with information about the vulnerability and a link to the detailed description.
  • Dependency Checker tool window - You can now access the dependency checker tool window via Code | Analyze Code | Show Vulnerable Dependencies.

gRPC navigation

  • GoLand’s HTTP Client currently supports running gRPC requests. You can also run gRPC requests from the Endpoints tool window.
  • This version offers another valuable addition to the gRPC feature set. You can now navigate and access declarations of messages, services, and methods from Go code and their Go implementations from .proto files.

Scratch files

  • Run scratch files with non-standard-library packages - You can now run scratch files with non-standard-library Go dependencies. When you copy your code from a project file to a scratch file and press the Run button, GoLand creates a Run configuration with the -overlay flag. This flag is used with a JSON file that maps file paths to go.mod and go.sum in your original project.

Generics

  • Rename refactoring for generic receivers - When you rename a type parameter in a struct, the Rename refactoring now suggests changing the receivers accordingly.

Intentions and quick-fixes

  • Conversion between different kinds of string literals - There is now an intention action that lets you quickly convert raw string literals, strings that are surrounded by backticks, to double-quoted ones and vice-versa.
  • Simplified conversion of integers to strings - Previously, when you needed to convert an integer to a string, GoLand would first suggest the Convert to 'string' quick-fix. To complete the conversion correctly, you would then need another quick-fix, Convert integer to string using strconv.Itoa() call. This workflow has been simplified, and now GoLand suggests the Convert integer to string using strconv.Itoa() call quick-fix right away.
  • Ability to implement unexported interfaces - The Implement interface intention action now works for unexported interfaces.
  • Remove leading spaces from Go directives - GoLand now has an inspection and a quick-fix that will help you to detect and remove leading spaces in Go directives like //go:embed.
  • Intention Preview: More supported intentions and quick-fixes - In the previous release, the Intention Preview functionality was enabled by default. This feature lets you instantly see how your code will be altered once you apply the IDE's suggestions. It is now possible to preview a broader range of intention actions and quick-fixes:
    • Introduce local variable.
    • Create variable/global variable.
    • Create constant/global constant.
    • Create field.
    • Merge declaration up.
    • Delete all unused parameters.
    • Create function.
    • Create method.
    • Fill all fields.

Performance improvements

  • Scanning files to index in smart mode - Improved the IDE startup experience by performing the Scanning files to index… process in smart mode, which makes the IDE's full range of functionality available much earlier in the startup process.
  • Suggestion to reconfigure Microsoft Windows Defender settings - There's a new notification triggered when Windows Defender with Real-Time Protection is running.
    • Given that these antivirus checks can significantly decrease the IDE speed, GoLand now suggests adding specific folders to Defender's list of exclusions.
    • The notification provides options to either reconfigure these settings automatically or first check the Defender configuration instructions and do it manually.

Editor

  • Code Vision: Interfaces implementations - Updated the Code Vision feature. GoLand now shows the number of implementations for an interface and its method specifications. Code authors are now displayed if version control integration is enabled.
  • Custom RegExp-based inspections - You can now use regular expressions to create your own search and replace inspections. These inspections can be especially useful for highlighting style-based or formatting-based problems.
  • Go Playground: Version parameter in shared URL - In a previous version, the Go Playground functionality was integrated into GoLand. In this version, that feature has been improved. First of all, shared URLs now include the version parameter if you choose the dev or previous versions. An option to turn off the popup window that asks your permission to share code in the Playground has also been added.
  • Option to specify the placement of pasted content - Fine-tuned the user experience when pasting a line that was copied or cut without selection. There is now a setting that allows you to control the placement of the pasted content.
  • Option to show whitespaces only in selected code - There is a new Selection checkbox in Settings | Editor | General | Appearance | Show Whitespace that allows you to configure this setting so that the IDE shows whitespaces as small dots only when you select code.
  • No spell checks for hashes and special values - Updated the Typo inspection so that it no longer checks the spelling of hashes and special values and doesn't report them as misspelled. This update covers the following values:
    • Md5, Sha1, and Sha256 hex values.
    • Sha384 and Sha512 base64-encoded integrity values with the shaNNN– prefix.
    • JWT tokens.
  • The new Call group in Find Usages - Introduced a new Find Usages group for function calls – the Call group.

User experience

  • Full IDE zoom - It is now possible to zoom into and out of GoLand, increasing or decreasing the size of all UI elements at once. From the main menu, select View | Appearance | Switch Zoom IDE and adjust the IDE’s scaling.
  • New Remember size for each tool window setting - Introduced a new layout option that allows you to unify the width of the side tool windows or retain the ability to adjust their sizes as you customize your layout. In the new UI, the setting is switched off by default, meaning that the tool windows are displayed with a unified width, and their sizes remain constant when you switch between them. In the old UI, the option is switched on, so the tool windows have different widths, though you can choose to align them at any time simply by turning the setting off.
  • Save multiple tool window layouts - You can now save and manage several tool window layouts and switch between them when needed.
  • Setting to configure Actions on Save for new projects - This version adds an option to predefine the behavior of Actions on Save for new projects.

The New UI

  • Compact Mode - To improve the user experience with the new UI on smaller screens, Compact Mode has been introduced, which provides a more consolidated look and feel due to the reduced heights for toolbars and tool window headers, scaled-down spacings and paddings, and smaller icons and buttons. The top toolbar is no longer visible in Zen and Distraction Free modes.
  • Vertical split for tool windows - Introduced the option to split the tool window area so that you can conveniently arrange these windows.
  • Project tabs for Apple macOS users - When you have several projects open, you can now easily switch between them using project tabs displayed under the main toolbar.
  • Show Hidden Tabs is back - Added the Show Hidden Tabs feature in the new UI. You now have a drop-down showing the complete list of open tabs, as they may have been hidden before.
  • Visible file name pane when tabs are hidden - Fine-tuned the user experience of the new UI by adding a pane that displays the name of the file that is currently open when editor tabs are hidden.
  • Redesigned Run widget - Redesigned the Run widget at the top of the IDE window. With the icons now colored green, rather than the area around them being blocked out in color, the appearance is subtler and easier on the eyes.

Docker

  • Completion for testcontainers - In this build, completion has been added for container names when you use the testcontainers-go package. After typing in the container name, you can use the Pull Docker image action that was implemented earlier.
  • Merged log from all Docker Compose containers - The Docker-compose node's Dashboard tab now brings together logs from all of the Docker-compose containers and displays them in a single, centralized location with updates appearing in real time.
  • Support for Microsoft Azure Container Registry - You can now easily connect to Azure Container Registry. Go to Settings | Build, Execution, Deployment | Docker | Docker Registry and set it up by selecting the Docker V2 option in the Registry input field.
  • New setting to apply the :z mount option to bind volumes on SELinux - You can now add :z configuration flags to Docker bind mounts, which allows you to connect volumes to Docker containers on SELinux workstations.

Kubernetes

  • File templates in the New Kubernetes Resource popup - To make creating new Kubernetes files easier, a new action has been added, Kubernetes Resource, to the New menu that appears when you right-click in the Project tool window. Once you select the Kubernetes Resource option, you’ll see a popup that features a list of the most popular resource types, such as Pod, Deployment, ConfigMap, etc.
  • Action to create new Kubernetes Secrets - Introduced a new dialog to create Kubernetes Secrets. To define a new secret, you can input a key and value manually. Alternatively, you can specify a file whose content will be used for the value of the resulting secret.
  • Color-coded change markers for resources loaded from cluster - When you use the View YAML action for resources from a cluster and make any changes in the opened file, the IDE now highlights all of your edits with color-coded marks in the gutter. This way, you can be sure that the changes are made to the required parts of the resource before you apply them back to the cluster. Additionally, using the Compare with Cluster icon, you can now open a full diff view that will fetch the resource's current version from the cluster and compare it with the local version.
  • Improved user experience with kubeconfig files - You can now easily access a kubeconfig file in the Services view and open it in the editor. If you change a kubeconfig file outside of GoLand, the IDE will detect this and automatically refresh its configuration in the Services tool window. The IDE now supports both code highlighting and completion for kubeconfig files.
  • Ability to assign custom shortcuts for actions in the Services view - You can now assign shortcuts for most Kubernetes actions in the Services view, like Forward Ports, Delete Resource, and Describe Resource, among others.

Markdown

  • Reformat table - A new intention action allows you to correct the formatting of tables in Markdown files. You can access the quick-fix via the shortcut Alt+Enter or by pressing the yellow bulb icon and selecting Reformat table from the list that appears.
  • Fill Paragraph - The Fill Paragraph editor action is now supported for Markdown files, allowing you to break long texts into several lines of even length.
  • New Smart Keys settings page - Added a dedicated page for configuring and editing your Markdown preferences in Settings | Editor | General | Smart Keys. This page should make it easier to manage your preferences, as it provides separate checkboxes for various editor features, replacing the single checkbox previously stored in Settings | Languages & Frameworks.

Version control

  • Improved Branches popup - Improved the usability of the Branches popup. For instance, navigating between branches is now easier, as they are grouped and stored in expandable lists.
  • Completion in the Create New Branch popup - Implemented completion in the Create New Branch popup. Press Ctrl+Space, and the IDE will suggest relevant prefixes based on the names of existing local branches.
  • VCS status color hints in the Structure tool window - To make tracking changes to files more convenient, color hints have been added to the Structure tool window. The names of modified objects will now become blue, and the names of the newly added objects will appear in the tool window highlighted in green.
  • Background commit checks - Reworked the behavior of the commit checks for Git and Mercurial to speed up the overall commit process. Checks are now performed in the background after you commit but before you push.
  • Improved code review workflow for GitHub - Reworked the Pull Request tool window. It now features a dedicated tab for each pull request you open. The tab instantly displays the list of changed files but now provides less information than before. This allows you to better focus on your current task. There is now also a dedicated button to easily execute the action that's considered the most important given the pull request's current state.

Web development

  • Astro support - Added support for Astro in GoLand. You can get it through the new Astro plugin that can be installed from Settings | Plugins. The plugin provides basic functionality, including syntax highlighting, code completion with automatic imports, refactorings, navigation, correct formatting, and more.
  • Automatic conversion of strings to template literals - GoLand will now transform your single- or double-quoted strings into template literals automatically whenever you type ${. This works for raw strings as well as for JSX properties.
  • Support for TypeScript in Vue template expressions - Added TypeScript support in Vue templates when you set the lang attribute in a script tag to ts. Previously, JavaScript was used regardless of the lang attribute in the script tag.
Vulnerability checker

GoLand(日本語版)

Go言語で開発するためのクロスプラットフォームIDE

GoLand(日本語版)は、次の製品にも含まれています。

ご質問がありますか?

今すぐ JetBrains ライセンススペシャリストとライブ チャット