IDEA:“将语句分配给新的局部变量”?

Posted

技术标签:

【中文标题】IDEA:“将语句分配给新的局部变量”?【英文标题】:IDEA: "Assign statement to new local variable"? 【发布时间】:2011-06-16 12:12:40 【问题描述】:

作为一个长期使用 Eclipse 的用户,我正在玩一些 IntelliJ IDEA 10。我似乎不知道如何执行“将语句分配给新的局部变量”代码完成。

功能说明:

我输入类似的东西

new BufferedOutputStream(out)

然后点击Cmd (or Ctrl)+1回车,Eclipse把这行改成:

BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(out);

同时,我可以立即输入“bufferedOutputStream”来重命名(或从下拉菜单中选择“bufferedOutputStream”、“outputStream”和“stream”)。

我在每次作业中都使用此功能,它可以节省大量时间 - 在 IDEA 中也必须提供此功能 - 但它隐藏在哪里?

【问题讨论】:

【参考方案1】:

重构 |引入变量(在 Windows 上为 Ctrl+Alt+V)。请注意,如果它是当前行中的唯一文本,则无需选择该文本。然后,您可以像您描述的那样在行内更改变量名称,然后按 Enter 完成编辑。

另一种方法是使用Postfix Completion:

输入 .var(或直接输入 .v 以从列表中选择它)并按 Enter 确认。

【讨论】:

终于可以在 android Studio 中使用类似于 Eclipse 的东西了。 可能很明显,但对于 Apple 用户来说——Cmd + Option + v 可以解决问题。此外,resolve all 很好——它在第一个表达式中分配变量,然后用新变量替换该范围内的其他表达式。 另一种可能性是使用 IntelliJ 的 Postfix Completion 功能。键入“.v+ENTER”通常会选择“.var”后缀完成并引入变量。 @LariHotari 的评论应该是答案的一部分,这样更快:blog.jetbrains.com/idea/2014/03/postfix-completion【参考方案2】:

正如 CrazyCoder 提到的,您可以使用 Ctrl+Alt+V。此外,在使用引入重构时,单击表达式中的某个位置并使用 Ctrl+W 扩展范围非常有用,而不是选择表达式。提取重构是:

提取变量:Ctrl+Alt+V 提取字段:Ctrl+Alt+F 提取方法:Ctrl+Alt+M 提取参数:Ctrl+Alt+P 提取常量:Ctrl+Alt+C

此外,Idea 是一个多角编辑器,因此您也可以将这些提取重构用于其他文件类型,如 js 或 html(并非所有重构都适用于所有文件类型,但 Ctrl+W 主要工作)。

还有更多的提取重构没有快捷方式,您可以从重构|提取菜单(菜单栏和上下文菜单)访问。要快速访问所有重构,您可以使用 Ctrl+Alt+Shift+T 弹出菜单。 p>

最后,我强烈建议您使用“每日提示”(Help|Tip of the Day)。这是学习 Idea 的许多有用功能的快速方法。

【讨论】:

【参考方案3】:

它不如 Eclipse,但你可以尝试以下方法:

new BufferedOutputStream(out)
使用鼠标(或使用 Ctrl+W)选择上面的表达式。 然后按 Ctrl+Alt+V引入变量 或 (Ctrl kbd>+Alt+F 引入字段

【讨论】:

大多数情况下不需要选择,看我的回复。【参考方案4】:

最简单的方法是,按Alt+Enter,您将看到一个选项列表,然后选择“引入局部变量”。

【讨论】:

以上是关于IDEA:“将语句分配给新的局部变量”?的主要内容,如果未能解决你的问题,请参考以下文章

idea_快捷键default&eclipse

idea如何提取变量(拆分变量赋值和声明)

Scala 占位符在REPL和Eclipse/IDEA中初始化变量问题

Java 8之后的那些新特性:局部变量var

原创解决Maven ProGuard不混淆局部变量的问题,以及如何使用混淆好的包

idea 常用快捷键总结