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


103

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

在Eclipse中输入完括号后,按Tab键使我脱离括号。不使用箭头键怎么办?

非常感谢您的帮助!


16
这也是我切换后的主要烦恼之一。
markdsievers'1

1
我以为我是唯一一个被这个问题困扰的人,感谢上帝stackoverflow的存在!:D
Soorena

Answers:


88

IDEA 尚无此功能。最接近的等效项是Complete Current Statement编辑器操作(Ctrl+ Shift+ Enter)。


更新

此功能的初始实现在2018.2 EAP版本中可用 -按Tab跳出。

它的工作方式更像是在MS Visual Studio中-无需视觉指示制表符的“退出”位置。目前,它应该可以在Java,SQL,Python和其他文件中使用。其他语言需要一些时间才能赶上-需要某些特定于语言的代码更改。

该功能默认情况下处于禁用状态,您可以在

设置->编辑器->常规->智能键->使用制表符跳到右括号/引号之外

在此处输入图片说明


2
该问题已移至Idea Backlog 6984,这意味着它不会在不久的将来实现
Paolo Fulgoni 2014年

2
在Mac上按Cmd + Shift + Enter :)
bmoran 2014年

@PaoloFulgoni一年过去了,它仍然被挂断。
Honghe.Wu 2015年

4
“此功能的初始实现在2018.2 EAP版本(刚刚发布)中可用。它的工作方式与MS Visual Studio类似-无需直观地指示选项卡'exit'的位置。目前,它应可用于Java,SQL,Python和某些其他文件。其他语言需要一些时间才能赶上-需要更改某些特定于语言的代码。默认情况下,该功能处于禁用状态,您可以在“设置”->“编辑器”->“常规”->“智能键”->“跳转”中启用它带“ Tab”的外部右括号/引号。” -德米特里·巴特拉克(Dmitry Batrak),杰特布伦斯,2018
安德鲁·基顿

2
现在,这个IDE是我非常喜欢的一个。再也没有了!!!!!!!!!!!!! 谢谢JetBrains!即使花费了这么长时间,也不再重要!我是最幸福的开发者!只想与你们分享我的幸福!AAA!
亚瑟·埃里希

11

Ctrl + Shift + Enter在IDEA 12.1.4中似乎不适用于我,但是我发现了与我想要的功能最接近的功能Shift + Enter。这将完成该行,在当前行下方创建一个新行,并将光标移至该行。


8

您可以通过按结束符号来执行此操作,否则您会按此按钮,但是该符号已自动完成。例如,如果您刚刚在下面输入了f,则可以按shift0(或右括号),它将光标移到括号之外。

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

8
有点有趣。有点破坏目的。
sonicblis

6

我转到了“首选项”->“键盘映射”,并将“将插入符移动到行尾”的快捷方式设置为Shift-Space。如果您要的话,它会将我带到当前行的末尾而无需添加任何内容。




2

它并不是您要找的东西,但是您可以键入要移到外面的字符(例如,封闭的括号),这会将您弹出自动完成的字符之外。

就理想而言,它并不理想,但据我所测试的仍然可以正常运行。


2

我设置了以下设置:

1)我在完成当前声明中添加了分号快捷方式:

在此处输入图片说明

我使用fori命令而不是for循环命令(因为for命令需要分号):

在此处输入图片说明

2)我添加了Alt +分号快捷方式以将插入号移动到代码块结尾

在此处输入图片说明

因此,当我进入循环时,通过按括号的Alt +分号跳转结束,然后按分号,我随后跳出了括号。

通过添加这些快捷方式,编码速度将更快。


2

这样的密钥称为“结束”。

您可以在“设置/首选项|键盘映射”中将任何未使用的快捷方式分配给“将插入符号移动到行尾”操作。

PS您可以使用Ctrl+ Shift+ Enter来完成您的语句(在您的情况下,它将插入号放在行的末尾,并在其中添加“;”)–可以在同一位置检查/更改名为“ Complete Current Statement”的操作和快捷方式如前所述的方式。


0

如果您决定移回Eclipse并使用PyDev,则默认情况下此功能处于禁用状态,请先切换到PyDev透视图,然后在自动括号或文字关闭时进入“首选项”>“ PyDev”>“编辑器”>“打字”>“启用”链接,即可启用该功能

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.