选择一些代码,用一些方法名称覆盖它,并在完成参数[在Intellij]中时自动输入先前选择的代码

时间:2014-11-23 11:21:56

标签: java intellij-idea

我发现很难提出这个问题。基本上我想要一些旧的代码包装旧的。我习惯于在一些编辑器中通过简单地选择旧版本来执行此操作,键入新版本,一旦完成它将自动替换新内部的旧代码。这就是我的意思:

int i = 5;

现在我要打印这个,但我忘了先写System.out.prinln()。

int // oeps I forgot that I wanted to System.out.println this statement

现在我当然可以删除int,编写System.out.println()并再次写入int。但我不希望这样。我希望它能记住我(过)写的内容并将其作为参数放回去。这是视觉上的:

选择旧版:

enter image description here

开始输入并替换旧的:

enter image description here

差不多完成了:

enter image description here

这是魔术发生的地方,旧线显示为参数输入。这就是我想要的,但它不会自动运行:

enter image description here

Intellij可以这样做吗?我经常开始输入一些稍后被其他内联代码包装的东西。

2 个答案:

答案 0 :(得分:3)

使用sout live模板,这很容易,至少在版本14中:在“exampleInt”之后,键入一个点,并向您推荐“sout”,这将完全符合您的要求。

对于任何方法调用,如果使用完整语句功能,这也很容易。你开始在“exampleInt”之前输入但不会覆盖它。您键入autopopup完成所需的内容,以建议您使用该方法,例如: “System.out.priexampleInt”。如果在弹出列表中选择了正确的方法,请按Edit |的快捷方式完整的当前声明(在Windows / Linux上按Ctrl + Shift + Enter)。因此,在插入作为参数的插入符后,您将获得已完成的方法调用:“System.out.println(exampleInt)”。

答案 1 :(得分:1)

正如彼得的回答所述,似乎第14版有这样做的诱惑。

对于我们这些年龄较大的intellij版本,以下内容可能有所帮助:

你最好的拍摄要么是'#34;剪切和粘贴":ctrl X + sout + tab + ctrl V

或使用智能完成:DEL + sout + tab + ctrl shift SPACE