GoLand 2022.2.x

Released: Jul 28, 2022

2022.2.x での更新項目

2022.2.5

Updated Nov 22, 2022

Fixes

  • QUALIFY is not inserted on new line as HAVING.
  • DataGrip tries to set a wrong max value for identity column in Postgres.
  • Can't rename postgres DB.
  • Error while moving libs to subfolders in the artifacts dialog.
  • "Unpaired symbol is missing" false positive.
  • Background tasks get stuck with custom Boot Java Runtime.

2022.2.4

Updated Oct 12, 2022

Features

  • Added support for :deep style selector in Vue 2.6 + projects.

Fixes

  • Debugger variables view (Failed to compute node presentation) when overwrite String for struct.
  • GoLand (IntelliJ IDEA GoLang Plugin) go process is not listed in the process-to-attach in 2022.1.1.
  • Generic function usage complains about "does not support indexing" when the parameter is a cgo (e.g: C.MyStruct) parameter.
  • False positive for generic composite literal.
  • False-positive: Type does not implement with nested generics.
  • False-negative: Invalid operation cannot call non-function.
  • False-positive: Cannot use <...> as the type if result passed from another function.
  • False positive: Goland shows method missing, even though it's present.
  • Quick Documentation popup doesn't go away with ESC when using the Emacs keymap.
  • Assert triggers while pattern parsing.
  • Language Injection causes large slowdowns.
  • HTTP Client: .http examples are indexed for every user.
  • Fix Size of 'Create Branch' Field in 'Open Task' Window.
  • Most of the actions disappeared from the Search everywhere, StackOverflowError "DefaultActionGroup - null" is thrown.
  • Right-click context menu and main menu not showing occasionally.
  • "java.lang.UnsupportedOperationException: Commit Dialog is not supported" from CodeProcessorCheckinHandler.
  • Commit checks failed notification: rename "Commit anyway" to "Amend anyway" if checks fail on amending commit.
  • Commit checks failed notification: Rerun commit checks produce weird notification.
  • Commit checks failed notification: reword "Commit anyway" link to "Commit anyway and Push" if Commit and Push action was performed.
  • "prettierApi.resolveConfig.sync is not a function" error when formatting with Prettier 3.0.0-alpha.0.
  • Cucumber.js: incorrect import is added in create step definition.
  • Data Viewer glitches when table contains binary column that is not visible initially.
  • Datagrip 2022.2.2 new UI provide grant SQL with something like ??? in SQL preview which lead to meaningless errors that don't even affect the modification results in PostgreSQL DB.
  • Execute smallest statement not working for MSSQL dialect in DataGrip 2018.1.2 Build #DB-181.4892.10.
  • Schema Diff doesn't ignore identifier case.

2022.2.3

Updated Sep 16, 2022

Features

  • Added a false negative "Unexported return type of the exported function" inspection run.

Fixes

  • Build constraints exclude all the Go files and Unused import in vendoring mode if module name partially equals to dependency name.
  • Debugger hangs unexpectedly.
  • Language injection doesn't work for var declaration.
  • Language injection doesn't work for field struct.
  • Language injection doesn't work on 2022.2.
  • Build constraints exclude all go files in <..> for stdlib packages in WSL2 projects.
  • False-positive: Cannot use 'x' (type T) as the type T.
  • Add New Module to Go project leads to corrupted root project.
  • Screen not drawing/updating properly.
  • Datagrip 2022.2.2 new UI provide grant SQL with something like ??? in SQL preview which lead to meaningless errors that don't even affect the modification results in PostgreSQL DB.
  • Execute smallest statement not working for MSSQL dialect in DataGrip 2018.1.2 Build #DB-181.4892.10.
  • Schema Diff doesn't ignore identifier case.
  • Saving templates in structural search is broken.
  • Recent Find Usages incorrectly shows SSR replacement was performed.
  • IJ UI locked up after externally changed files refresh.
  • Sorry but parent: JPA (kotlin-example.servlet-web-applications.main) (class com.intellij.jpa.facet.JpaFacetImpl) has already been disposed (see the cause for stacktrace) so the child: false (class com.intellij.util.containers.DisposableWrapperList) will never be disposed.
  • Memory leak (400MB) in PowerSaveStatusWidgetFactory.
  • Plugin devkit is not disabled when disabling properties plugin.
  • FacetManager creates multiple facet bridges.
  • Fails to create the project by using the template.
  • Apply button is grayed out after editing an existing option in Before Launch section of run configuration.
  • New event for number of run configs in a project.
  • WorkContextManager.doEntryAction() logs ProcessCanceledException when shouldn't.
  • Text Editor: drag-and-drop doesn't work with multi-line selections.
  • Markdown auto-formatting messes up with markdown in tables when it wraps the line.
  • "Copy" icon is overlapped with the layout menu.
  • Confirm "Copy" in the code block action is successful.
  • Markdown copy button for code blocks is unusable when code requires horizontal scrolling.
  • IAE at com.intellij.util.xml.highlighting.DefineAttributeQuickFix.applyFix.
  • Paste includes leading indent even when not included in copy.
  • Docker. Failed to create a container with ISE.
  • Docker Debug. Add a warning into the current functionality that Docker Debug will be removed und advise to use RunTargets.
  • Docker settings disappear after setting Colima option.
  • HTTP client doesn't send cookies to subdomains.
  • HttpClient: generate requests RelatedLineMarker. don't invoke resolveRequests().
  • HTTP Client changed session handling.
  • Comment with Line Comment action is no longer available.
  • "IDE Scripting Console" action creates a Groovy file whereas it is not supported in some IDE's.
  • Pre-commit checks in background: Show balloon notification when checks are finished with failing results.
  • Commit checks failed notification links don't work after switching commit mode but displayed active.
  • Ctrl+Click on file paths no longer works in the 2022.2 RC.
  • Commit: "commit checks failed" notification is shown when I manually cancel commit checks.
  • Plugin devkit - exception when unloading.
  • Chrome Debug cannot select tab/frame to attach to.
  • Pinia: props/actions from pinia store not resolved in template when using script setup.
  • Vue 2.7 SFC, auto completion of defineProps, defineEmits and defineExpose import the macros from 'vue'.
  • ESLint@8.23: TypeError: this.libOptions.parse is not a function.
  • Angular 14 + Jest: tests running fails with "Unknown arguments: testNamePattern, testPathPattern".
  • Autocomplete popup is not shown in Data Editor filter field after restart.

2022.2.2

Updated Aug 17, 2022

Features

  • Added the ability to enable 'VgoUnusedDependencyInspection' for go.work files.
  • Improved the language plugin notifications.
  • Added support for Vite aliases in vite.config.
  • Added the ability to recognize 'baseUrl' from 'tsconfig.json' in JavaScript files when resolving imports.

Fixes

  • goland2022.2 using go.work exception.
  • Strings with spaces are not supported in go.mod and go.work files.
  • Debugger works not as I expected for fuzzing tests.
  • False-positive: Cannot use as the type if similar struct type is defined.
  • Incorrect warning when assigning to variable of type interface from another package with unexported members (under certain conditions).
  • False positive: duplicate non exported method in interface.
  • Intention action Convert to produces invalid code.
  • Long IDE freeze with mouse-over documentation for a very large Go literal.
  • IDE hanged when trying to update a plugin.
  • Plugin advertiser shows banner even if the exact file file is supported.
  • Intellij Ultimate should not recommend upgrading to Ultimate but instead recommend enabling the android plugin.
  • LanguagePluginDetectionStartupActivity tries to find language plugins for en and en_US locales.
  • Run configurations: state of the option 'Allow multiple instances' cannot be changed.
  • Docker target. Create dialog: incorrect border of the first field.
  • Can consume too much memory inside OpenSSH Agent for Windows support.
  • Splash screen duration.
  • Reader mode: font settings changes are not applied immediately to opened files.
  • 'Reset to' link does not restore font size for the tabs in Reader mode.
  • Don't glue together javadoc param name and description when removing a colon.
  • Garbled Japanese kanji characters in markdown(+mermaid) preview.
  • Space plugin's login to Space doesn't work after hibernation/activation and IDE version change.
  • HTTP Client: Environment selection doesn't affect run of Run Configuration.
  • Terminal tab name resets when activating.
  • Terminal tab name is set as shell path/directory path by default and it's too long.
  • Header height is increased if a project tab was moved to a separate window after merging projects in one window.
  • Black font on a black background in "Gradle sync" notifications with the new UI.
  • "Recent solutions" popup no longer highlights the last solution if it is not included in Project Group.
  • [Manage Projects] All opened projects are removed from Recent Projects list.
  • Status icon stays shifted when any warnings/problems are fixed.
  • Settings -> Nothing Here.
  • java.lang.Throwable on opening context menu of a toolbar.
  • Clone on Welcome Screen: support custom progress bar.
  • Pressing DELETE key during renaming shelve entry causes its deletion.
  • Git tab - branch view: context menu cannot be created.
  • WebStorm suggests wrong imports because of partial export field support in package.json.
  • Not respecting code format when removing an unused element from a module import in Typescript.
  • Named export became a default export when import element exported via export list.
  • Angular 14: Extract component doesn't work.
  • Vue 3: Variables used in style tags with v-bind are marked unused when using sass.
  • jsx pragma not recognized.
  • Angular 14: Angular Schematics are broken.
  • Functions in vuex store becomes unresolved after changing store to incorrect and back.
  • Functions with type signatures including this keyword suggested to be static.
  • Automatically add vue extensions in imports in Vue+Typescript projects on manual input.
  • Incorrect type inference of storeToRefs method from pinia.

2022.2.1

Updated Aug 9, 2022

Fixes

  • Missing essential plugin: org.jetbrains.plugins.go after updating to 2022.2 version.

2022.2

Updated Jul 28, 2022

Features

  • Generics
    • Intention action to convert empty interfaces to any - GoLand now has an inspection that reports the usage of an empty interface as a type or type constraint. There is also an intention action that replaces interface{} with any. From the intention action’s popup, you can replace all empty interfaces in a file.
    • Quick-fix to delete type parameters with empty parameter lists - Type parameters with empty parameter lists are now reported as errors. A quick-fix has been added to delete them.
    • Inspection for unused type parameters - Added a new inspection that reports unused type parameters. They are grayed out, and you will see a warning when you hover over them.
    • Inspection for union of interfaces with methods - The IDE now reports an error if you attempt to use interfaces with methods in unions.
    • Inspection for usage of a type parameter as a constraint - If you try to use a type parameter as a constraint, GoLand will display an error.
    • Completion for type parameters when typing a method’s receiver - GoLand now automatically inserts a type parameter’s identifier when you add a receiver while creating a method.
    • New Find Usages group for type parameters - Added a new Find Usages group for generics: Type parameter declaration.
  • Fuzz testing
    • Running fuzz tests - You can now run fuzz tests from GoLand.
    • Quick-fix to change the Go SDK - In GoLand, you will now no longer see a run button in the gutter if you’ve configured a Go SDK that doesn’t support fuzzing. A quick-fix has been added to change the Go SDK if the current Go SDK doesn't support fuzzing.
  • Go workspaces
    • Quick-fix for grouping multiple use directives - Added a quick-fix that groups multiple use directives in a go.work file into one directive.
  • Go 1.19
    • Support for fmt.Appendf - Added support for fmt.Appendf, and GoLand now identifies formatting verbs inside strings. As a result, the Appendf function benefits from all of the features that formatting functions have, such as the Add a format string argument intention action.
    • Support for the unix build constraint - GoLand now supports the new unix build tag, which recognizes any Unix or Unix-like system.
    • Addition of loong64 to the Arch list - Go 1.19 introduces a new architecture - loong64. It has been added to the Arch list in Settings | Go | Build Tags & Vendoring.
  • Quick Documentation
    • Improved Quick Documentation:
      • For each of the 25 Go keywords, GoLand now displays a meaningful keyword tooltip outlining the semantics of the relevant keyword.
      • Channel direction information is now displayed. This data is shown in tooltips in three places: when you hover over the chan keyword, on channel send and receive operations, and on all references to channel types.
      • Quick Documentation for iota now contains additional information about how to use it. If a constant is part of an iota group, the value is now shown in the completion box, even if the constant is defined implicitly.
      • Added a new tooltip explaining how type switches work.
      • If you invoke Quick Documentation on a type parameter, GoLand will now show you a tooltip with a brief explanation of how generics work and a link to a tutorial by the Go team.
      • The tooltip for type assertions now contains additional information about them and offers examples.
      • GoLand now displays additional information when you initialize maps, arrays, slices, and structs if you hover over the area inside the curly braces.
      • If you hover over a blank identifier, GoLand now shows a tooltip with information about what the blank identifier is and how it works.
  • More Go-related improvements
    • Performance optimization - GoLand no longer scans the cache subdirectory in ~/go/pkg/mod since it doesn’t contain information needed for the IDE to work correctly. This folder can be fairly large, and excluding it from the scan will improve performance.
    • Support for the go:linkname directive - Added support for the go:linkname compiler directive: //go:linkname localname [importpath.name]. It instructs the compiler to use importpath.name as the object file symbol name for the variable or function declared as localname in the source code.
    • Irregular usage of iota inspection - Added a new inspection in GoLand that will warn you if iota is used irregularly. The Reserved word used as name inspection for iota and other built-in constants has been enabled. The inspection will be triggered if you try to assign a value to a constant named iota, true, or false.
    • Inspection for methods on both value and pointer receivers - The Go documentation recommends that all methods on a given type should have either value or pointer receivers. A new inspection in GoLand has been added that will warn you if your type has methods on both value and pointer receivers.
  • Automatic SQL detection
    • SQL statements are now automatically detected and the language is injected into every string literal that matches a certain pattern. When you inject a language into a string literal, you get comprehensive code assistance when editing that literal.
  • Run Anything
    • GoLand now supports the Run Anything action that allows you to quickly launch run/debug configurations, applications, scripts, commands, and tasks, as well as open recent projects.
  • HTTP Client
    • Support for WebSocket endpoints - GoLand now supports WebSocket connections. You can create requests as well as send and receive messages.
    • Support for GraphQL endpoints - GoLand can now send GraphQL queries over HTTP and WebSocket protocols out of the box. For http:// and https://, simple HTTP requests are used, while ws:// and wss:// are delegated to the WebSocket executor.
    • Select a run environment - Added the ability to select a run environment from the play icon on the gutter.
  • Remote development
    • Updated the Remote Development section on GoLand’s Welcome screen. Here you can choose your preferred method for backend orchestration. Also, the port forwarding functionality is now available for processes running on the terminal.
  • Space
    • JetBrains Space is a complete software development platform that provides project management, issue tracking, Git hosting, code reviews, continuous integration, package repositories, and remote backend orchestration for JetBrains IDEs through dev environments. Space integration is now bundled with GoLand. With this first-class integration, you can browse Space projects and clone repositories, then start working on them directly. When your changes are ready, you can create a merge request and perform a code review from within the IDE. You can now manage your Space dev environments for remote development directly within GoLand. When your IDE is connected to your Space organization, all of your existing dev environments are synchronized. You can create a new dev environment for a repository and branch, and start coding right away. You can hibernate a dev environment to reduce resource consumption or simply delete it when your work is finished.
  • User interface
    • Merge All Project Windows action on Apple macOS - For macOS, the ability to organize your working space by merging all opened project windows into one has been added, turning each window into its own tab.
    • Keyboard shortcut to change the font size globally - Added the ability to change the font size across the whole editor with a keyboard shortcut. You can now press Alt+Shift+. to increase the font size. Press Alt+Shift+, to decrease it.
    • New Description field for mnemonic bookmarks - A Description field has been integrated into the Add Mnemonic Bookmark dialog so that you can add an optional description to your bookmark.
    • Cloning repository progress bar - The Cloning repository progress bar is now shown right in the Projects list.
    • Faster access to Code Completion Settings - You can now access Code Completion Settings from the vertical ellipsis menu button in the code completion popup.
  • Editor
    • Control automatic parentheses insertion - Added the option to toggle whether the IDE automatically inserts parentheses during code completion.
    • Change the highlighting style for inspections - You can now adjust the highlighting style for inspections using the new Highlighting in editor dropdown menu in Settings | Editor | Inspections. This provides you with more options for customizing inspections. For example, you can set the severity level of a particular inspection to Warning but change the highlighting style to Error.
  • Docker
    • Copy Docker Image - You can now copy images from one Docker daemon to another using the new Copy Docker Image action, which saves the image to a file and then pushes it to the chosen connection.
    • Docker auto-connection on IDE restart - GoLand now automatically connects to Docker after you restart the IDE. This new setting is enabled by default in Settings | Advanced Settings | Docker.
    • Integration with Colima and Rancher - GoLand is now integrated with Colima and Rancher to support more options for establishing connections to a Docker daemon.
  • Databases
    • Option to import multiple CSV files - You can now select several CSV files and import them all at once.
    • Resolve modes for databases - When working with databases, you now have two file resolve modes: Playground and Script. Playground is for when you have a set of unconnected queries, and Script is for queries that have sequential logic.
  • Other improvements
    • Import trusted SSL certificates - GoLand can now help you import trusted SSL certificates from system trust stores. It will automatically use the custom certificates specific to your enterprise environment. You don’t need to perform any additional actions. Everything should work right out of the box.
    • Clickable URLs in JSON and YAML files - JSON and YAML files now feature automatically inserted web references inside values that start with http:// and https://. You can open these links in a web browser and generate requests in the HTTP client.