IntelliJ IDEA提供了多种方法来比较文件,文件夹和代码片段,甚至同步文件夹内容。
比较项目文件
假设您的项目中有两个类似的文件,您需要逐行比较它们。使用IDEA,这非常容易,只需在项目窗口中选择两个文件(按住即可Ctrl进行多次选择)。
两种方式:
- 右键单击其中一个文件,然后选择 Compare Files
- 按Ctrl+D
此时会打开新窗口,其中包含两个面板,每个面板都有一个文件。这与Git等版本控制系统中的diff非常相似。
每个区别都用颜色标出来:
- 没有着色意味着内容相同
- 蓝色表示同一行发生更改
- 绿色意味着新内容
- 灰色表示已删除内容
您可以单击箭头图标,»然后«将特定更改从一个文件应用于另一个文件。
与非项目文件比较
另一种情况是,您需要将项目中的文件与外部的文件进行比较,首先,在项目窗口中选择一个文件,然后:
- 右键单击其中一个文件,然后选择 Compare With...
- 按Ctrl+D
最后一步是浏览要比较的外部文件。这个过程跟上面的非常相似。
与剪贴板比较
假设您的项目中有一个文件,您需要将其与一些外部内容进行比较,而这些内容无法保存为文件,例如来自堆栈溢出的代码片段,那么又该如何比较呢?
首先在编辑器中从项目中打开文件。
然后将要比较的片段复制到剪贴板(Ctrl+ C)。
最后,您有两个选择方式:将整个文件与剪贴板进行比较或者只是进行比较。如果要比较整个文件,只需右键单击编辑器中的任意位置,然后Compare with Clipboard从上下文菜单中选择;如果只想选择一个选项,请先选择文件的某些片段,然后跟以前一样右键单击。
自定义比较
如果要比较外部来源的两个非文件代码片段,该怎么办?你也可以这样做!只需Find Action通过Ctrl+ Shift+ 运行A,然后搜索即可Open Blank Diff Window。
这将打开一个全新的差异窗口,两个面板均为空白,然后就可以复制和粘贴两个要比较的片段。
与文件的先前本地版本比较
即使您不使用任何版本控制系统,IDEA也会存储本地文件的历史版本。您可以右键单击编辑器,然后选择Local history → Show history。
如上所示,您可以浏览当前文件的旧版本,并查看旧版本与当前版本之间的差异,并根据需要应用所有更改。
与VCS比较
如果您使用的是版本控制系统,则还有更多比较选项。例如,如果您使用的是Git,则可以转到VCS → Git或右键单击编辑器并选择Git。现在你可以:
- 与相同的存储库版本进行比较:将当前本地文件与远程存储库中的版本进行比较
- 与分支比较:将本地文件与不同分支中的相同文件进行比较
- 显示历史记录:将本地文件与以前的版本进行比较
比较文件夹
比较不仅适用于单个文件,而且适用于整个目录。该过程与文件相同,只需在“Project”窗口中选择两个文件夹,然后按Ctrl+ D或右键单击和Compare Directories。
如上所示,您可以看到两个目录或其中一个目录中存在的所有文件的列表,且可以轻松地发现哪些文件仅存在于一个文件夹中,哪些存在于两个文件夹中,这些都可以照常进行比较。
同步文件夹
目录差异工具不仅可用于发现两个目录中的差异,而且还可用于同步更改,您可以照常对每个文件的各个部分应用更改。但是,您也可以将仅存在于一个目录中的文件标记为要保留或同步到另一个目录,您可以为*列中的每个文件更改所需的操作,满意后,再按Synchronize selected或Synchronize all。