74

我真的很喜欢 IntelliJ diff 工具。我想知道是否可以使用此工具来区分两个任意文件。即不在 IntelliJ 项目中的文件。只需在文件系统中选择两个文件并进行比较?如果我想区分两个字符串怎么办?在我的文本编辑器中,我只需创建两个新文档,将文本粘贴到其中并进行比较,然后在完成后不保存文件。这可能吗?

谢谢

4

10 回答 10

66

找到这个命令行:

在 MacOSX 上:(IDEA EAP 11)

/Applications/IntelliJ\ IDEA\ 11.app/Contents/MacOS/idea diff /Users/ben75/file1.txt /Users/ben75/file2.txt

在 MacOSX 上,IDEA (11) 打开时无法运行。

在 Windows 上:(IDEA EAP 12)

"C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.0\bin\idea.exe" diff C:\Users\ben75\file1.txt C:\Users\ben75\file2.txt

即使 IDEA 已经打开,它也会运行。

尝试比较没有扩展名(或不匹配的扩展名)的文件时遇到问题

直接来自 IDEA (EAP 12)

不是那么容易,但它确实有效......

  • 文件 > 打开... > 选择“file1.txt”
  • 文件 > 打开... > 选择“file2.txt”
  • 创建一个“收藏夹列表”并将这两个文件添加到此收藏夹列表中。(要做到这一点:ctrl+右键单击编辑器中的文件名选项卡 > 添加到收藏夹 > 选择刚刚创建的收藏夹列表 - 见截图)
  • 最后,打开“收藏夹”视图(Alt+2 或单击左侧或您的 IDEA 窗口)。
  • 选择两个文件
  • 右键单击:“比较两个文件”(或 ctrl+D)

添加到收藏夹

于 2013-01-19T08:32:59.427 回答
53

IntelliJ Idea 13 具有标记为与剪贴板比较的功能。此功能将当前打开的文件与您复制到剪贴板的版本进行比较。这是一种轻松比较和合并两个文件的好方法。它也可以用来比较两个任意的代码块。无法弄清楚为什么一个块有效而另一个块不起作用?使用此功能。

此选项位于View > Compare with Clipboard下。我分配了一个易于记忆的键盘快捷键,让我可以快速访问此功能。

查看 > 与剪贴板比较

于 2014-01-21T23:42:30.737 回答
37

在项目面板中选择 2 个文件,然后按CTRL+D

在此处输入图像描述

于 2013-10-24T20:12:18.237 回答
33

从 2018.2 开始,IntelliJ 正式支持它

对于 Windows: Ctrl + Shift + A,然后键入“打开空白差异窗口”

在此处输入图像描述

在此处输入图像描述

对于 Mac: Cmd + Shift + A 然后键入“打开空白差异窗口”

在此处输入图像描述

在此处输入图像描述

于 2018-11-20T16:04:17.720 回答
6

在 IntelliJ IDEA 2018.2 中,您可以打开一个空白的差异查看器,并将您想要比较的任何文本粘贴到其左右面板中。可以在 Find Action 对话框中找到新的 Open Blank Diff Viewer 操作。

于 2018-07-27T13:09:00.557 回答
6

从终端,您可以像这样直接使用想法启动器:

# Windows
idea.exe diff path1 path2

# MacOS/Linux
idea diff path1 path2

至少对于 MacOS(我不确定 Windows),如果您通过“工具 -> 创建命令行启动器...”创建了命令行启动器,它就像以下一样简单:

# Create some files to diff
echo "This is line 1" > file1.txt
echo "This is line 2" > file2.txt

# Diff with IntelliJ
idea diff file1.txt file2.txt

请注意,这也适用于其他 JetBrains 应用程序;例如,使用 WebStorm 或 PyCharm:

# Diff with WebStorm
webstorm diff file1.txt file2.txt
# Diff with PyCharm
charm diff file1.txt file2.txt

参考

于 2018-11-09T23:26:08.723 回答
6

如果您需要将打开的文件与文件系统上的任意文件进行比较,我发现了更好的方法:

  • 在第一个文件的编辑器中,比如说 A.java。
  • Ctrl+Shift+A,你会看到: 动作搜索列表
  • 选择第二个“比较...”选项,您将获得“选择路径”对话框: 选择路径对话框
  • 选择硬盘上的任何文件并确认,您将获得差异窗口: 将带有任意文件的窗口与最初选择的窗口进行比较
于 2020-04-07T19:34:22.710 回答
3

是的,您可以(当然,如果我们谈论的是text文件)。但可能您需要创建一些项目(仅用于打开那里的文件)。

那么你的步骤将是:

1) 添加到创建的项目文件#1 和文件#2。

2) 在编辑器中打开文件#1

3) 在文件#2 的左侧菜单(项目文件浏览器)中右键单击鼠标并找到 menu-item Compare File with Editor

在此处输入图像描述

就这样。在 p.3) 之后,将打开一个比较窗口。

于 2013-01-17T19:53:27.800 回答
2

为了比较两个都不在项目中的文件,以下适用于我在 Windows 上的 IntelliJ IDEA Ultimate 14.1.7 中:

  1. 在 IDE 中打开第一个文件(通过从 Windows 资源管理器拖动到窗口中,或通过文件/打开)。
  2. 在视图菜单中,选择“比较...”
  3. 在出现的“选择路径”对话框中,选择第二个文件(直接选择,或从 Windows 资源管理器中拖动到对话框中)。

然后它会在传统的文件比较窗格中打开。如果您尝试编辑其中一个文件,它会显示通常的“您确定要编辑不在您的项目中的文件”对话框,如果您正在尝试这样做,则可以接受该对话框。

于 2017-11-06T17:12:24.243 回答
0

只需选择项目结构中的两个文件并点击:

窗口: ctrl+D

Mac: 命令+D

于 2019-03-08T17:27:37.547 回答