IntelliJ IDEA find matching parenthesis / bracket - intellij-idea

Is there any keyboard shortcut to navigate from one parenthesis ( to the matching one ) in IntelliJ?
Or even to "jump to the next opening/closing parenthesis (/) from wherever my cursor is"?
And, if there's no way to do it 'natively', are there any plugins that could add this functionality quickly and easily?
EDIT: the best solution I've found is added as a comment in liango's answer below, namely to put the cursor on the first or last brace and then press CTRL-W twice. Not ideal, but it does the job!

You can use Ctrl + [ and Ctrl + ] to navigate to a code block's start and end.
You can also use Ctrl + Shift + M to navigate between the start and end of a code block.
On Mac, you can use Option + Cmd +[ and Option + Cmd + ], and Ctrl + M
Source: https://www.jetbrains.com/help/idea/2016.2/navigating-to-braces.html

use CTRL-W to expand the selection within a bracket, use repeatedly if needed to select further out, then use the arrows.

CTRLSHIFTM is the Windows/Linux default shortcut for action "Move caret to matched brace". (For other environments see here and use the Shortcuts dropdown in the top right of the page.)
Or if desired, the shortcut keys can be changed as follows:
Go to Settings -> Keymap -> Editor Actions, or just type the name in the search box.

Here's the latest and greatest as of version 2020.1
To move caret between matching code block braces, press Ctrl+Shift+M.
To navigate between code blocks, press Ctrl+Shift+[ or Ctrl+Shift+].
From the documentation
Navigate with the caret
To navigate backwards, press Ctrl+Alt+← Left. To navigate forward, press
Ctrl+Alt+→→ Right.
To navigate to the last edited location, press Ctrl+Shift+Backspace.
To find the current caret location in the editor, press Ctrl+M. This
action might be helpful if you do not want to scroll through a large
file.
However, you can press the Up and Down arrow keys to achieve the same
result.
To highlight a word at the caret you are trying to locate, select Edit
| Find | Next Occurrence of the Word at Caret from the main menu.
To see on what element the caret is currently positioned, press Alt+Q.
To move caret between matching code block braces, press Ctrl+Shift+M.
To navigate between code blocks, press Ctrl+Shift+[ or Ctrl+Shift+].
To move the caret forward to the next paragraph or backward to the previous one, press Ctrl+Shift+A and search for the Move Caret Forward a Paragraph or Move Caret Backward a Paragraph action.
You can also select a text and then move the caret forward or backward to a paragraph. Press Ctrl+Shift+[ and search for the Move Caret Forward a Paragraph with Selection or Move Caret Backward a Paragraph with Selection action.

You can use Ctrl-[ and Ctrl-].

Related

Intellij Idea - complete next parameter shortcut

Example:
Author author = new Author("Jack", "Daniels");
In Exlipce when filled "Jack" and pressed "enter" - it automatically went to second parameter and let me fill second one. In Intellij I always have to click with mouse, or use arrow keys.
Is there a shortcut in Intellij to make it quicker? I can't find one myself.
Since IntelliJ 2018.2
You can now jump outside the closing bracket or quote with Tab.
(from: https://blog.jetbrains.com/idea/2018/07/intellij-idea-2018-2-macbook-touch-bar-java-11-breakpoint-intentions-spring-boot-version-control-and-more/)
Basically it means if you have:
Author author = new Author("Jack<cursor>");
And you press Tab, the cursor is placed like this:
Author author = new Author("Jack"<cursor>);
Note: it doesn't matter where the cursor is initially, as long as you are somewhere inside the quotes when you press Tab the cursor is moved outside and placed behind it. If you want to enter the next parameter you have to manually type the comma and String.
The option can be found under: Settings -> Editor -> General -> Smart Keys and is called Jump outside closing bracket/quote with Tab
There are some other useful options there as well like insert pair quote and insert pair brackets.
If you want to go more advanced you can have a look into Live Templates.

Is there a shortcut to go to the beginning/end of a file in IntelliJ?

I often need to get quickly to the very beginning or very end of a file in the IntelliJ editor. Is there a shortcut key or button that allows me to do this quickly?
I am running on Windows, if that matters.
Beginning of File: Fn + ⌘ + ←
End of File: Fn + ⌘ + →
Note: This answer was posted prior to windows specificity. Leaving it here to include MacOS alternative.
On Windows, you can use Ctrl+Home and Ctrl+End to go to the beginning and end of a file respectively.
The action is called Move caret to Page Top/Bottom, default shortcuts would depend on the OS/Keymap and can be checked here:
On Windows these are Ctrl+Page Up and Ctrl+Page Down.
To find what keyboard strokes are already defined for this, go to Preferences->Keymap and search for text start for jumping to the beginning of the file and text end for jumping to the end of the file. You'll get something that looks like this:
The right column tells you what keystrokes have been mapped to these functions. Feel free to change them to something that you find more intuitive by double clicking on the right column and following the instructions on the pop-ups.
Under preferences -> Keymap, a shortcut for Scroll to Bottomand Scroll to Top can be set.
By default, they are not assigned.
By default in windows the shortcut is
ctrl+end
You can customize the shortcut. To use only end button as shortcut go to Settings -> Keymap -> Editor action -> move caret to text end
Right click on move caret to text end and update shortcut to end
On a Mac, these following keys:
to start of the file:
option + command + [
to end of the file:
option + command + ]
After spending minutes to search on the web, i don't find the answer for just using cmd + up or down. If you are the same, as a quick workaround, you can cmd + a to select all text and press up or down to move it.

IntelliJ IDEA non standard caret behaviour

I have an issue with IntelliJ IDEA when selecting a big amount of text, and I cannot find the parameter to set to change that. Here is an example of the situation:
My caret is on line 3
I scroll with the mouse wheel towards line 300
I press ctrl + shift
I press the left button of the mouse
Such an action would result in the text from line 3 to 300 being selected in all common editors (even in MS-Word I think), but not in IntelliJ.
Do you know how to set this right?
Thanks!
Why ctrl+shift? Shift is enough to select those lines in most editors, ctrl is most commonly used to add additional items (for example, two ranges with shift).
Ctrl + Shift + Left Click is "Navigate to Type Declaration" in IDEA. See here.

Move text cursor to previous string when I am at the left corner of current string

Is it possible in IntelliJ IDEA to move cursor to previous string when it is at the left corner of current string and I am pushing on left arrow keyboard key.
Let me explain:
1) Text cursor at the left corner of line 4
2) I am pushing on left arrow keyboard key
3) All I want to get - move text cursor to end of previous (3) line
But IDEA not moving text cursor from previous line, it just stays there.
Help me please.
This is because by default IntelliJ allows placing the caret after the end of line. When you press your ← key, it does not move as it would have to go to the infinite right side of your file, which is not very convenient (at least that's how I understand it :p).
Go to Settings > Editor and uncheck Allow placement of caret after end of line, this will solve your problem.

IntelliJ IDEA shortcut for switching to tab by number

In FireFox, I'm constantly using the Ctrl + 1-9 shortcut to switch tabs. Basically Ctrl + 1 will take me to the first tab, Ctrl + 2 will take me to the second one and so on.
Is there an equivalent for this shortcut in IntelliJ IDEA?
UPDATE:
You can now assign keyboard shortcuts to navigate to the specific tab number:
Original obsolete response:
There is no such feature in IDEA, however you can use Alt + Arrows and Ctrl + E (Recent Files) to navigate between tabs.
Other handy actions from the Go To menu:
Back / Forward (Ctrl + Alt + ←/→)
Last Edit Location (Ctrl + Shift + Backspace)
Another option is to use the GoToTabs third-party plug-in:
The plugin adds menu actions allowing you to go to a specific tab. You
can of course assign keyboard shortcuts the individual actions and for
example achieve the behavior known from other editors/IDEs where you
can switch between tabs with alt+num.
The IDE itself still doesn't support it but I've created a plugin (GoToTabs) that will add "Go to tab #" actions you can assign keyboard shortcuts to (e.g. ctrl+1).
you also can use ctrl + tab to active switcher
after ctrl + tab and keep holding ctrl for other operations
ctrl + number is for bookmarks feature.
Since this is one of the first hits when Googling this, note that as of IntelliJ IDEA 2018.3 EAP this is now possible. From the feature request tracker:
In upcoming 2018.3 EAPs you're welcome to assign shortcuts you need for new actions in the group 'Other', see a screenshot. With these actions you can select tab1..tab9 and also the last tab.
To accomplish this:
Go to Keymap in Preferences
Search for "select tab"
Individually assign Command+<number> to each of the tab numbers mappings
You can use this short cut on mac
Shift + Command + { or }
Not sure what you asking is possible but Navigate as below in intellij idea (13) to switch tabs in one level,
File
└────Settings
└─────────Keymap
└────── Editor Tabs
Where yo can map for actions "Select Next Tab" and "Select Previous Tab", under "Editor tabs" in keymaps. Following is an example for emacs keymap.
cmd+shift+[ - go to previous tab
cmd+shift+] - go to next tab
Actually, there is an option, pressing Alt + Tab a switcher will pop up.
Like this:
[
If you are using IntelliJ's IdeaVim plugin, the vim style shortcut works as well:
gt, go to next tab
gT, go to the previous tab
1gt, go to the first tab
2gt, go to the second tab
3gt, ....
If a tab has a number with an underline like this example, you can use Alt + 9 to switch to it. But not all tabs have a underlined number.
MacOS:
Next tab: ⇧ + ⌘ + ]
Previous tab: ⇧ + ⌘ + [
if you use ideavim, you can use num+gt to go to the specific tab. for example, 2gt lead you to the second tab.
Keymap -> Other -> Tabs.
Then setup what you want