如何在 IntelliJIDEA 中移出自动完成的括号(不使用箭头键) ?

最近,我从 Eclipse 切换到 IntelliJ IDEA,发现自己不知道如何将光标从一对自动完成的括号中移出。

在 Eclipse 中,当我输入完一对括号后,按 Tab 键会将我从括号中带出。如果不使用箭头键,我怎么能做同样的事情?

非常感谢你的帮助!

28830 次浏览

IDEA doesn't have such feature yet. The closest equivalent is the Complete Current Statement editor action (Ctrl+Shift+Enter).


UPDATE

Initial implementation for this feature is available in 2018.2 EAP version - press Tab to jump out.

It works more like in MS Visual Studio - without visual indication of tab 'exit' position. For now, it should work in Java, SQL, Python and some other files. It will take some time for other languages to catch up - some language-specific code changes are required.

The feature is disabled by default, you can enable it in

Settings -> Editor -> General -> Smart Keys -> Jump outside closing bracket/quote with Tab

enter image description here

It's not quite what you're looking for, but you can type the character you are trying to move outside of (a closing paren, for example) and that should pop you outside of the auto-completed character.

Not ideal, but functional as far as I've tested it.

Ctrl + Shift + Enter does not seem to work for me in IDEA 12.1.4, but I found the closest feature to what I was looking for was Shift + Enter. This completes the line, creates a new line below the current line and moves the cursor to it.

Not currently supported by Intellij. There is an open feature request on this at http://youtrack.jetbrains.com/issue/IDEA-74666. Extra votes would be nice.

You can do this by pressing the closing symbol that you would've pressed otherwise, but was auto completed. For example, if you have just typed the f below, you would press shift and 0 (or closing parenthesis), and it will move your cursor outside of the parenthesis.

String asdf = "hello world";
System.out.println(asdf);

I went to preferences->Keymap and set a shortcut for "Move Caret to Line End" to Shift-Space. It takes me to the end of the current line I am on without adding anything, if that's what you want.

Intellij supports the ctrl+shift+m shortcut that jumps to the end of the block:

https://www.jetbrains.com/help/idea/2016.2/navigating-to-braces.html

I set these setting:

1) I added Semicolon shortcut to Complete Current Statement:

enter image description here

Instead of using for loop command, I using fori command (because for command needs semicolon character):

enter image description here

2) I added Alt+Semicolon shortcut to Move Caret to Code Block End:

enter image description here

So when I inside the loop, by pressing Alt+Semicolon jumping end of the bracket, by pressing Semicolon I jumping out the bracket subsequently.

by adding these shortcuts, the speed of coding will be faster.

Such key is called "End".

You can assign any unused shortcut to "Move Caret to Line End" action in "Settings/Preferences | Keymap".

P.S. You can use Ctrl+Shift+Enter to complete your statement (in your case it will place caret at the end of line and will add ";" there) -- action called "Complete Current Statement" and shortcut can be checked/changed in a same way as described earlier.

If you decide to move back to Eclipse and use PyDev this feature by default is disabled, First Switch to PyDev Perspective and you can enable it by going under Preferences>PyDev>Editor>Typing>Enable link on Automatic parenthesis or literals closing