CommunityFlorin Pățan

Florin Pățan

Developer in Go and a big fan of GoLand

Fill Paragraph for Go Comments

Tip

Fill Paragraph for Go Comments
Ensure that comments have the width you like.
Write SQL queries using popular database packages

Tip

Write SQL queries using popular database packages
Work with SQL queries and get completion and other features automatically.
Connect to a MongoDB database

Tip

Connect to a MongoDB database
Access a MongoDB database from your JetBrains IDE and do the work in the same window.
Query a MongoDB databases

Tip

Query a MongoDB databases
Run any queries you want against the database inside your JetBrains IDE.
Declare a Targeted Go Version in go.mod

Tip

Declare a Targeted Go Version in go.mod
The IDE is aware of targeted Go versions so you can make the most of them
Multiple Projects in one IDE Window

Tip

Multiple Projects in one IDE Window
Work with multiple projects at once from the same IDE window.
Cleanup Unused IDE Directories

Tip

Cleanup Unused IDE Directories
If you stopped using an older version of the IDE, it's the right time to do some cleanup.
Pause and Unpause Containers

Tip

Pause and Unpause Containers
Test what happens to microservices when they try to talk with an unavailable service.
Inspect device_cgroup_rules Values for Errors

Tip

Inspect device_cgroup_rules Values for Errors
Check if the device_cgroup_rules values contain any errors.
Restart a Running Container

Tip

Restart a Running Container
Start with a container from zero, faster.
Quick Documentation for Keys in Dockerfiles and docker-compose.yaml Files

Tip

Quick Documentation for Keys in Dockerfiles and docker-compose.yaml Files
Learn about what the keys mean, find out how to use them, or what values they accept
Convert Slice to Array Pointer

Tip

Convert Slice to Array Pointer
With Go 1.17, it is possible to covert a slice to an array pointer.
Configure Custom Namespaces Manually

Tip

Configure Custom Namespaces Manually
Use all the features you need even if the plugin cannot process the namespaces automatically
Load go.mod Changes Manually

Tip

Load go.mod Changes Manually
Take control of when go.mod files are refreshed.
Create a Scratch File from Selection

Tip

Create a Scratch File from Selection
Create scratches faster and get the contents you want to test pre-populated.
Remove Empty Scratches Automatically

Tip

Remove Empty Scratches Automatically
Let the IDE handle the cleanup after testing your ideas
Run actions on save

Tip

Run actions on save
Perform various tasks after you save the files you work on
Run gofmt After the Builtin Formatter

Tip

Run gofmt After the Builtin Formatter
Ensure that your code is always formatted with gofmt.
Select the Builtin Terminal Cursor Shape

Tip

Select the Builtin Terminal Cursor Shape
Make the terminal your own, with the cursor shape you want
Select the Builtin Terminal Shell

Tip

Select the Builtin Terminal Shell
Run multiple shells from the same UI with ease
Search Text in Local History

Tip

Search Text in Local History
Find exactly what you are looking for, even if you removed it
Run Inspections Before Commit

Tip

Run Inspections Before Commit
Catch all issues before your code before you commit it.
Detect Unused Dependencies in go.mod Files

Tip

Detect Unused Dependencies in go.mod Files
Cleanup go.mod files and keep them lean
Run Tests Before Commit

Tip

Run Tests Before Commit
Make sure your tests pass before reaching the CI/CD pipeline.
Cleanup Code Before Commit

Tip

Cleanup Code Before Commit
Remove all the redundant parenthesis and other unneeded code before commit.
Live Template for Arrow Function

Tip

Live Template for Arrow Function
Create arrow functions quicker thanks to builtin customizable templates.
Sign Git Commits with GPG Keys

Tip

Sign Git Commits with GPG Keys
Improve the security of your commits by using GPG keys.
Code Completion for Classnames and More in React Code

Tip

Code Completion for Classnames and More in React Code
Spend less time typing or explore the possibilities for various CSS class names in React aps.
Completion for Parameter Types

Tip

Completion for Parameter Types
Better code completion makes working on modern web frontends faster and more enjoyable.
Reload Browser Pages on Save

Tip

Reload Browser Pages on Save
Work on your frontend then switch to the browser to see how it looks like
Refactor Names in React useState Hooks

Tip

Refactor Names in React useState Hooks
Rename both values of from useState hooks at once
Support for TypeScript Types in JSDoc

Tip

Support for TypeScript Types in JSDoc
Give the IDE new powers thanks to TypeScript-based types.
New Features in GoLand 2021.2

Playlist

New Features in GoLand 2021.2
A selection of useful features from GoLand 2021.2
Add Keys to Struct Field Tags

Tip

Add Keys to Struct Field Tags
Quickly add JSON, XML, or custom keys to all struct fields.
Add New Fields to Struct Types from JSON

Tip

Add New Fields to Struct Types from JSON
Add new fields in your API objects just with copy-paste.
Builtin HTML preview

Tip

Builtin HTML preview
Stop switching to a browser to inspect your template and get instant feedback in your IDE
Change Struct Tag Style

Tip

Change Struct Tag Style
Quickly change different styles of the struct tags.
Check APIs from the Comfort of your IDE

Tip

Check APIs from the Comfort of your IDE
Quickly inspect APIs and make HTTP requests to services in a reusable manner.
Create getters and setters for struct fields

Tip

Create getters and setters for struct fields
Generate the support code to access fields indirectly, via getters and setters
Create Missing Struct Types with all Fields

Tip

Create Missing Struct Types with all Fields
Prototype your code then worry about creating the types
Extract Type Refactoring

Tip

Extract Type Refactoring
Extract a type into its own definition and improve the reusability in your code.
Use Completion for Container Names and Tags

Tip

Use Completion for Container Names and Tags
Save a few typos and use completion to handle the container name and tag in a Dockerfile.
Handle Go Errors by Using a Postfix Completion

Tip

Handle Go Errors by Using a Postfix Completion
Keep writing code as you would and use the postfix completion to generate the boilerplate.
Support for go:embed Directive

Tip

Support for go:embed Directive
Embed files and folders into your binaries without using an external tool.
Convert Kubernetes Resources Definition Formats

Tip

Convert Kubernetes Resources Definition Formats
Quickly switch between List and Multidocument YAML for Kubernetes resource definitions.
Convert JSON to Go Types

Tip

Convert JSON to Go Types
Converting a JSON response to a Go type has never been faster than this.
Delete Kubernetes Resources

Tip

Delete Kubernetes Resources
Teardown resources faster as and when you need to.
Quickly Handle Errors in Go

Tip

Quickly Handle Errors in Go
Handling errors is essential in any application
Rename Go Module Refactoring

Tip

Rename Go Module Refactoring
Upgrade Go modules to newer versions with ease
Run Target support via WSL

Tip

Run Target support via WSL
Run your application or tests in Windows Subsystem for Linux (WSL) with ease.
Detect Incorrect Usages of t/b.Fatal* Calls in Goroutines

Tip

Detect Incorrect Usages of t/b.Fatal* Calls in Goroutines
Find if tests or benchmarks are using t/b.Fatal* calls inside goroutines incorrectly
New Features in GoLand 2021.1

Playlist

New Features in GoLand 2021.1
A selection of useful features from GoLand 2021.1
Query MongoDB databases using SQL statements

Tip

Query MongoDB databases using SQL statements
Run MongoDB queries in SQL format within your IDE.
Assert Completion in Testify

Tip

Assert Completion in Testify
Write testify asserts faster thanks to the IDE smartness.
Better Time Format in Completion

Tip

Better Time Format in Completion
Use the commonly known date/time formatting strings while writing time formatting in Go.
Dump Goroutines from a Running Application

Tip

Dump Goroutines from a Running Application
Inspect the goroutines and memory of your application as it runs.
Download the Log from a Kubernetes Pod

Tip

Download the Log from a Kubernetes Pod
Comb the pod log for the details needed from the comfort of your computer.
Drag & Drop Editor Tabs

Tip

Drag & Drop Editor Tabs
Change how the editor tabs are grouped or split using drag and drop.
Retract Directive

Tip

Retract Directive
Retract specific versions of your modules.
Inline Watches in Debugger

Tip

Inline Watches in Debugger
Keep your eyes on the code at all times.
Check context.CancelFunc Usage

Tip

Check context.CancelFunc Usage
Ensure that the cancel function is always called.
Detect Incorrect Usages

Tip

Detect Incorrect Usages
Formatting functions from packages such as pkg/errors, logrus or zap.
Live Template to Create a for Loop

Tip

Live Template to Create a for Loop
Benchmark loops are repetitive, so let the IDE handle this for you.
Live Template to Create Test Function

Tip

Live Template to Create Test Function
Write tests faster thanks to the builtin func Test live template.
Live Template to Write Benchmark Functions

Tip

Live Template to Write Benchmark Functions
Write benchmarks quicker thanks to the builtin bench live template.
Navigate to Subtests

Tip

Navigate to Subtests
Jump to the specific test case from the results window.
Open Console in Kubernetes

Tip

Open Console in Kubernetes
Attach to the console of a process running inside a container of the selected pod.
Open File in Split Editor

Tip

Open File in Split Editor
View two files side-by-side by directly opening the second one in a split-editor mode
Open Shell in Kubernetes

Tip

Open Shell in Kubernetes
Run an interactive shell for the container in the selected pod.
Preview File Contents

Tip

Preview File Contents
Have a look at what's in the file without opening it.
Rerun Testify Subtests

Tip

Rerun Testify Subtests
Rerun just the subtest you need from a testify suite.
Run Individual Testify Test Suites

Tip

Run Individual Testify Test Suites
Run only the testify test suites or subtests that matter to you.
Run a Single Test

Tip

Run a Single Test
Focus your testing on new test cases or tests that fail.
Perform Simple Math in Search Everywhere

Tip

Perform Simple Math in Search Everywhere
Quickly perform simple math operations from the comfort of your IDE.
Tailwind CSS Support

Tip

Tailwind CSS Support
Enjoy working with Tailwind CSS from the comfort of your IDE.
Stop a Remote Process After Debugging It

Tip

Stop a Remote Process After Debugging It
Clean-up processes after interacting with them in remote debugging scenarios.
Sync the IDE Theme with the OS Theme

Tip

Sync the IDE Theme with the OS Theme
Have your IDE theme synchronize with your OS one throughout the day.
Detect Variable Shadowing While Writing Go Code

Tip

Detect Variable Shadowing While Writing Go Code
Easily spot where you shadow variables that you did not intend to
Completion for Testify Test Names

Tip

Completion for Testify Test Names
Let your IDE add constructor arguments to your instance.
Support for Vue.js 3

Tip

Support for Vue.js 3
Upgrade to using the latest Vue.js version knowing your IDE will be there to help you.
New Features in GoLand 2020.3

Playlist

New Features in GoLand 2020.3
A selection of useful features from GoLand 2020.3
Add Line After/Before

Tip

Add Line After/Before
Smart-add a line either from the middle of a line, after or before the current line.
Adding Fields to a Struct

Tip

Adding Fields to a Struct
Let your IDE add constructor arguments to your instance.
Auto-Run Tests

Tip

Auto-Run Tests
Get into testing mode by telling GoLand to automatically re-run tests as you type.
Navigate Cursor Position Back and Forth

Tip

Navigate Cursor Position Back and Forth
Navigate back to where you were, or where you went quickly and easily.
Evaluate Expression During Debugging

Tip

Evaluate Expression During Debugging
Select your code and execute it, in the right context.
Disable Tabs

Tip

Disable Tabs
Save space and stay keyboard-centric by turning off the tabs.
Generate Imports While Typing

Tip

Generate Imports While Typing
Avoid interruption by letting GoLand generate your imports as you type.
Install and Import

Tip

Install and Import
While typing a symbol, let GoLand install it and generate the import.
Move Block Up/Down Using Keyboard

Tip

Move Block Up/Down Using Keyboard
Use the keyboard to move a line or selection up or down in your file.
Navigate to Symbol

Tip

Navigate to Symbol
Navigate your project by code, not files.
Optimize Imports

Tip

Optimize Imports
Automate the organizing and cleaning up of your Go imports with Optimize Imports.
Put New Project Under Version Control

Tip

Put New Project Under Version Control
The fastest way to register a new project directory under local version control.
Reduce Clutter by Disabling Tools

Tip

Reduce Clutter by Disabling Tools
Save space by turning off various toolbars.
Quick Documentation

Tip

Quick Documentation
View arguments and documentation without interrupting your flow.
Rename Symbol

Tip

Rename Symbol
Change a variable name, class name, or other symbol, across the project.
Rename a File and its References

Tip

Rename a File and its References
Change your mind on a file name, and the IDE makes all the changes for you.
Run Single Test

Tip

Run Single Test
Speed up testing by focusing on one test.
Spot Coverage Gaps Using the Gutter

Tip

Spot Coverage Gaps Using the Gutter
Let the IDE help you spot coverage gaps in your testing.
Split Screen Without Tabs

Tip

Split Screen Without Tabs
Get your code and tests side-by-side without using tabs.
General Tips & Tricks

Playlist

General Tips & Tricks
Become an IDE power-user with these bite-sized tips and tricks.
Complete Current Statement

Tip

Complete Current Statement
Add trailing commas or braces and move the cursor to the right place with a single keystroke.
Working with the Call Hierarchy

Tip

Working with the Call Hierarchy
Analyze call trees for functions or methods
Compare With Clipboard

Tip

Compare With Clipboard
Compare text, files or directories and even use the clipboard contents.
Custom Structure Tags

Tip

Custom Structure Tags
Add custom tags to any fields from structures.
Expanding/Shrinking Selection

Tip

Expanding/Shrinking Selection
Use your keyboard to quickly select the portions of code that you need.
Generate a Test for an Element

Tip

Generate a Test for an Element
Automate test generation
Go To or From a Test

Tip

Go To or From a Test
Navigate to and from a test subject like a method or function.
Implement an Interface

Tip

Implement an Interface
Implementing an interface is a common task that Go programmers need to do.
Hide all Tool Windows

Tip

Hide all Tool Windows
When you want just your code you can hide all the tool windows in the IDE.
Multiple Selections

Tip

Multiple Selections
Select multiple items faster with multiple carets.
Navigate Between Open Files

Tip

Navigate Between Open Files
Don't use the mouse to quickly move between multiple files, use the switcher instead.
Navigate to File

Tip

Navigate to File
Jump to a file without using the Project Tool Window, and your mouse
Paste from History

Tip

Paste from History
Paste from the clipboard even if it's not the last item you copied into it
Recent Locations

Tip

Recent Locations
Jump back and forth between files using code snippets you've recently seen.
Select In

Tip

Select In
Select the current file in the Project or Changes view and more
Show /usages

Tip

Show /usages
Quickly discover the usages of the element your cursor is at
Select all Occurrences in a File

Tip

Select all Occurrences in a File
Quickly select all occurrences of a piece of text in the current file
Speed Typing

Tip

Speed Typing
Quickly navigate to or filter any list of items in the IDE
File Structure Popup

Tip

File Structure Popup
View the file or whole package structure and navigate to any element.
Structure Tags

Tip

Structure Tags
Quickly add tags to any fields from structures.
Switch to the Editor

Tip

Switch to the Editor
Get the focus back to the editor regardless what is currently focused.
Type Hierarchy

Tip

Type Hierarchy
Discover what types implement an interface or what interfaces are implemented by a type.
Editing Tips & Tricks

Playlist

Editing Tips & Tricks
Learn some of the most useful Editing features of GoLand.
Florin Pățan

Author

Florin Pățan
Developer in Go and a big fan of GoLand
Basic Code Completion

Tip

Basic Code Completion
Code completion out-of-the-box that helps you get the job done.
Code completion in Evaluate Expression, Watches or Conditional Breakpoints

Tip

Code completion in Evaluate Expression, Watches or Conditional Breakpoints
The debugger also has extensive code completion capabilities.
Code Completion in Language Injections

Tip

Code Completion in Language Injections
See how to use code completion inside strings and other places.
Code completion in Run Configurations

Tip

Code completion in Run Configurations
Run configurations also have code completion capabilities.
Completion for non-imported Go Modules

Tip

Completion for non-imported Go Modules
Import a module in to your project.
Completion with the Tab key

Tip

Completion with the Tab key
A small, but handy feature that makes it a little easier to complete symbol names.
Cyclic Expand Word - Hippie Completion

Tip

Cyclic Expand Word - Hippie Completion
Complete any word any from the current open files.
Exclude Items from Auto-imports and Completion

Tip

Exclude Items from Auto-imports and Completion
Exclude certain paths from auto-import and completion.
Method-like Completion for Functions

Tip

Method-like Completion for Functions
Completion for searching for functions that accept parameters of a certain type.
Partial Match Completion

Tip

Partial Match Completion
Complete anything by typing just parts of the identifier.
View Parameter Info

Tip

View Parameter Info
Quickly see function arguments and argument types.
Postfix Completion

Tip

Postfix Completion
Transform an expression into another one.
Smart Code Completion

Tip

Smart Code Completion
Let code completion help you out in GoLand.
Completion Tips & Tricks

Playlist

Completion Tips & Tricks
Know everything there is to know about Code Completion.