codecamp

IntelliJ IDEA如何使用移动重构

注:"移动重构"也可从 UML 类图中获得。

移动重构允许您在项目的源根目录、类成员到其他类和内部类之间移动包和类到上层层次结构级别。移动重构会自动更正对源代码中移动的包、类和成员的所有引用。

以下移动重构可用:

  • 移动包重构与其他移动重构有明显不同。有关相关的说明,请参阅移动一个包。对于所有其他符号,请参阅执行移动重构。移动包将包及其内容移动到指定的源根目录下的另一个包或目录。移动包时,可以在以下重构之间进行选择:将包移到另一个包。将目录移动到另一个源根目录。将目录移动到另一个目录。
  • 移动类重构使您能够:将一个类移动到指定源根目录下的包中。让一个类成为一个内部类。
  • 移动静态成员将静态字段、方法或内部类移动到另一个类。
  • 将内部移动到上层:在 Java 中,这个重构将内部类移到了更高的层次。在 ActionScript,这个重构将包外的类、函数、变量、常量和命名空间移动到一个包中。(在这种情况下,word 内部用于引用在包外声明的实体 (类、函数等)),上层意味着一个包。
  • 移动实例方法重构将实例方法移动到另一个类。
  • 移动文件重构将文件移动到另一个目录。

执行移动重构

要执行移动重构,请按照下列常规步骤操作:

  1. 选择要移动的符号并执行以下操作之一:
    • 在主菜单或上下文菜单上,指向:重构,然后选择:移动。
    • 按 F6。
    • 在 "项目" 工具窗口中,将符号拖动到新位置。

    打开的对话框取决于所选符号的类型。

  2. 根据要移动的项目的类型指定移动选项。请参见 "移动" 对话框引用中的选项说明。
  3. 预览并应用更改。

移动一个包

要移动包,请按照下列步骤操作:

  1. 在 “项目” 工具窗口中选择包,然后按 F6,或者只是拖动所选包。
  2. 在“选择重构”对话框中,单击其中一个选项以指定应执行的重构。
    ij_move_package
    • 要将整个包移到另一个包中,请选择第一个选项,单击 "确定",然后在 "移动" 对话框中指定移动选项。
    • 要将目录移动到另一个源根目录,请选择第二个选项,单击“确定”,然后指定目标源根目录。
    • 要将目录移动到其他目录,请选择第三个选项,单击“确定”,然后指定目标目录。
IntelliJ IDEA迁移重构
IntelliJ IDEA向上拉取成员重构
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }