在Eclipse中,我发现按Enter键选择内容辅助/自动完成列表中的项目非常烦人。特别是在PyDev中,因为没有行末分号,按Enter键会将自动完成列表中选定的内容输入到新行中。
Tab键是更好的选择热键,因为我不太可能在一行中想要一个制表符。
有没有可能在Eclipse中更改这个设置呢?
我正在使用CDT、PDT和PyDev,但对与Eclipse相关的任何解决方案都很感兴趣。
自动补全选择键是编辑器特定的。例如,在 Aptana Studio 中,您可以定义一组键用于建议选择。请参见例如 Preferences/Aptana Studio/Editors/JavaScript。由于 PyDev 与 Aptana Studio 共享一些代码,因此具有类似的功能。请参见“Preferences/PyDev/Editor/Code Completion/Apply completion on *”复选框。
说到 Tab 键作为选择器,似乎无法在没有额外编码的情况下实现,因为它对于聚焦到建议窗口具有特殊含义。对于那些感兴趣的人,可以在 org.eclipse.jface.text.contentassist.CompletionProposalPopup.verifyKey(VerifyEvent) 找到 Tab 处理。
祝好,Max
很遗憾,在PyDev(或Eclipse本身)中无法使用Tab键代替Enter键进行自动完成。
因此,在这种情况下,我会使用Shift-Enter键换行:请注意,在这种情况下,您可以从行中的任何位置按Shift+Enter键,它将模拟“到达行尾,按Enter键”的操作(对我来说非常方便)。
实现说明:正如Max所指出的那样,'\t'和'\r,' \n'的情况实际上是在Eclipse中硬编码的:org.eclipse.jface.text.contentassist.CompletionProposalPopup.verifyKey(VerifyEvent),因此,要解决这个问题,您需要一个补丁来更改Eclipse本身的代码(如果您认为这很有价值,请在Eclipse中创建一个错误请求以请求该功能)。