DataGrip 2025.2 Help

使用 Files 工具窗口

在本教程中,您将学习如何在 个文件 工具窗口中工作。 该工具窗口充当文件浏览器窗口,可访问附加到 IDE 项目的文件和目录、项目根目录,以及 IDE 特殊文件类型:查询控制台、数据处理脚本和临时文件。

例如,您可以附加新目录、创建新项目(目录和文件)、在编辑器中打开文件、运行 SQL 文件、查看文件的本地历史记录、将目录置于 VCS 下等。 您可以通过拖动重新排列文件和目录,还可以从文件导入数据到数据库。

有关工具窗口的更多信息,请参阅 文件工具窗口

快速概览

您可以通过以下任一方式打开 个文件 工具窗口:

  • 在主菜单中,进入 视图 | 工具窗口 | 文件.

  • 在右侧工具窗口栏中,单击 Files 工具窗口图标个文件

  • 按下 Alt+2

默认情况下,工具窗口位于主窗口的右侧:

Files 工具窗口中的用户文件
  1. 文件工具窗口图标个文件 工具窗口 Alt+2

  2. 项目根目录及其包含的用户文件

  3. 附加目录及其包含的用户文件

    要了解如何将目录附加到您的项目,请参阅 附加包含 SQL 文件的目录

  4. 查询控制台

    要了解如何创建控制台,请参阅 创建查询控制台

  5. 数据处理脚本:提取器、聚合器和加载器

    要了解如何使用数据提取器和加载器,请参阅 数据提取器数据加载器 主题。

  6. 临时文件

    要了解如何使用临时文件,请参阅 临时文件

  7. 将目录附加到项目的图标将目录附加到项目 标题按钮

  8. 跳转到查询控制台图标跳转到 查询控制台 工具栏按钮

用户文件

个文件 工具窗口中,您可以访问存储在项目根目录和附加目录中的文件。

项目根目录

DataGrip 项目的根目录始终显示在 个文件 工具窗口的顶部。

如果您希望能够快速访问 IDE 中当前项目的某些文件,并与项目一起共享这些文件,您可以将文件复制到项目目录中,并在 个文件 工具窗口中访问它们。

附加目录

您可以将任何目录附加到 DataGrip 项目,并在 个文件 工具窗口中访问该目录及其文件。 在附加的目录中,您可以打开现有的 SQL 文件,也可以创建新的文件。 DataGrip 将对文件进行索引,提供使用 IDE 的搜索功能 搜索 这些文件其内容 的选项。

对于附加的 SQL 文件,您可以通过 运行文件本身 使用 运行配置 ,还可以运行存储在文件中的单独查询。 运行单独查询是可能的,因为任何 SQL 文件都可以使用编辑器工具栏上的 <data source> 选择器附加到数据源。 有关从文件运行查询的更多信息,请参阅 运行查询 主题。

以下是将目录附加到 DataGrip 项目后访问 SQL 文件的选项:

  • 打开已位于附加目录中的现有文件。

  • 个文件 工具窗口中,在附加目录中创建新文件。

要了解如何在 个文件 工具窗口中打开、创建和复制文件,我们将在本教程中考虑以下示例:有一个 my_scripts 目录,您已经在其中存储了 SQL 文件,并且您希望在 IDE 中访问该目录及其文件。 我们将使用以下查询集作为 query_book.sql 文件内容:

-- Retrieve all actors SELECT actor_id, first_name, last_name, last_update FROM actor; -- Find the number of films each actor has appeared in SELECT a.actor_id, a.first_name, a.last_name, COUNT(fa.film_id) AS film_count FROM actor a JOIN film_actor fa ON a.actor_id = fa.actor_id GROUP BY a.actor_id, a.first_name, a.last_name ORDER BY film_count DESC; -- List all movies by category SELECT c.name AS category, f.title AS film FROM film_category fc JOIN film f ON fc.film_id = f.film_id JOIN category c ON fc.category_id = c.category_id ORDER BY c.name, f.title; -- PostgreSQL -- Delete actors with ID greater than 200 DELETE FROM guest.public.actor WHERE actor_id > 200; -- MySQL -- Delete actors with ID greater than 200 DELETE FROM sakila.actor WHERE actor_id > 200; -- PostgreSQL -- Insert a new actor with the current timestamp INSERT INTO guest.public.actor (first_name, last_name, last_update) VALUES (?, ?, CURRENT_TIMESTAMP); -- MySQL -- Insert a new actor with the current timestamp INSERT INTO sakila.actor (first_name, last_name, last_update) VALUES (?, ?, CURRENT_TIMESTAMP);

要在 DataGrip 中访问包含文件的目录,您需要先将目录附加到项目。

打开现有文件

  1. 个文件 工具窗口中,单击工具栏中的 将目录附加到项目… 按钮(将目录附加到项目)。

    或者,右键单击 文件 工具窗口区域并选择 将目录附加到项目…

  2. 在文件浏览器中,导航到您想要附加的目录。 在我们的案例中,它是 my_scripts 目录。

  3. 点击 打开

    将包含 SQL 文件的目录附加到 DataGrip 项目
  4. 该目录将在 个文件 工具窗口中可用。 要在编辑器中打开您的 SQL 文件,请展开附加的目录节点并双击文件名。

    打开附加文件夹中的现有 SQL 文件

创建新文件

您还可以在附加目录中创建新文件。 例如,如果您的查询存储在某个 query_book.sql 文件中,或存储在不同位置,并且您希望将它们存储在本地计算机上的专用 my_scripts 目录中。 您可以将该目录附加到 DataGrip 项目,在其中创建一个新的 SQL 文件,并将您的 SQL 查询集复制到该文件中。

  1. 个文件 工具窗口中,单击工具栏中的 将目录附加到项目… 按钮(将目录附加到项目)。

    或者,右键单击 文件 工具窗口区域并选择 将目录附加到项目…

  2. 在文件浏览器中,导航到您想要附加的目录。 在我们的案例中,它是 my_scripts 目录。

  3. 点击 打开

    将包含 SQL 文件的目录附加到 DataGrip 项目
  4. 右键单击您的附加目录并选择 新建 | SQL 文件

  5. 在出现的 新建文件 弹出窗口中,输入文件名。 例如, query_book.sql

    将所有查询存储在单个控制台中

    您的新 SQL 文件将出现在 个文件 工具窗口文件树中的附加目录节点下。 DataGrip 还会在代码编辑器选项卡中打开它。

  6. 在编辑器中,输入您的查询或将查询集粘贴到文件中。

将所有查询存储在单个控制台中

运行 SQL 文件

您还可以从 个文件 工具窗口运行您的 SQL 文件。 为此,请使用文件的上下文菜单并选择您要运行的数据库或架构。 DataGrip 将创建一个运行/调试配置来运行您的文件。

每个配置是一组命名的启动属性,用于定义要执行的内容以及应使用的参数和环境。 有关运行配置的更多信息,请参阅 运行/调试配置

例如,您需要将 sqlite-sakila-schema.sql 文件运行到您的 identifier.sqlite 数据库。

  1. 个文件 工具窗口 Alt+2 中,导航到 sqlite-sakila-schema.sql 文件,右键单击它,然后选择 运行 'sqlite-sakila-schema.sql'。 或者,选择它并按 Alt+Shift+R

    从文件工具窗口运行 SQL 文件
  2. 请选择您的运行配置设置。

    • 目标数据源/架构 中,单击 Add 按钮("添加"按钮 )并选择 identifier.sqlite 数据库。

    • 脚本文件 中,您的 SQL 文件会自动添加。

    编辑配置对话框
  3. 点击 运行

有关运行 SQL 文件的更多信息,请参阅 运行文件 主题。

从文件导入数据到数据库表

您可以通过将文件拖动到 数据库资源管理器 并配置导入设置,将数据从文件导入到数据库表。 例如,有一个 myFiles 目录,其中包含 countries.xlsx 文件。 您需要将文件的数据导入到 guest.public 架构的 PostgreSQL 数据源中。

  1. 将目录附加到您的 IDE 项目。 在我们的示例中,是 myFiles 目录。

    包含 Excel 文件的目录已附加到 DataGrip 项目
  2. myFiles 树节点中,导航到 countries.xlsx 文件。

  3. countries.xlsx 文件拖动到 数据库资源管理器 中您希望导入数据的数据库。 在我们的示例中,是 guest.public 架构的 PostgreSQL 数据源。

    将 Excel 文件从 Files 工具窗口拖动到 Database Explorer

在 GitHub 上共享目录

您可以通过创建本地存储库并将其链接到远程存储库,在 GitHub 上共享您的附加目录。 例如,有一个 MyScripts 目录,您需要将其链接到 https://github.com/JetBrainsUser/MyScripts.git GitHub 存储库。

  1. 将目录附加到您的 IDE 项目。 在我们的示例中,是 MyScripts 目录。

    附加一个目录
  2. 通过导航到主菜单中的 Git(G) | 创建 Git 仓库 并选择您要共享的目录,在附加目录中创建一个本地 Git 存储库。

    创建一个本地仓库
  3. 通过导航到 Git | 管理远程库 并将您的 GitHub 存储库链接作为新远程添加,链接您的本地和远程存储库。

    链接本地和远程仓库

查询控制台

查询控制台s 是附加到数据源的 SQL 文件。 您可以像在终端中一样,在 查询控制台s 中编写和执行 SQL 语句。 控制台不包含在项目上下文中。 有关控制台的更多信息,请参阅 查询控制台

当您在 DataGrip 中创建数据源时,会自动创建一个默认控制台。 在 个文件 工具窗口中,控制台位于 临时文件和控制台 | 数据库控制台 下。

例如,您有一个 PostgreSQL 数据源,并且已经为其创建并使用过一个 console 查询控制台。 您可以在 个文件 工具窗口中打开控制台。 有关创建 查询控制台 的更多信息,请参阅 创建查询控制台

数据源的查询控制台

打开现有控制台

  1. 个文件 工具窗口中,导航到 临时文件和控制台 | 数据库控制台

  2. 展开 PostgreSQL 数据源节点。

  3. 双击 控制台 [PostgreSQL] 控制台。

DataGrip 将在编辑器中打开 控制台 [PostgreSQL] 查询控制台。

数据源的查询控制台

创建新控制台

  1. 个文件 工具窗口中,导航到 临时文件和控制台 | 数据库控制台

  2. 右键单击 PostgreSQL 数据源并选择 新建 | 查询控制台

    或者按 Ctrl+Shift+Q

DataGrip 将创建一个新的 console_1 [PostgreSQL] 查询控制台,并在编辑器中将其打开。

创建新的查询控制台

重命名您的控制台

  1. 个文件 工具窗口中,导航到 临时文件和控制台 | 数据库控制台

  2. 展开 PostgreSQL 数据源节点。

  3. 右键单击您想要重命名的控制台并选择 重构 | 重命名

    或者按 Shift+F6

  4. 重命名 对话框中,为 console 输入新名称。 例如, shiny_new_console.sql

    控制台的重命名对话框

DataGrip 会将 console_1 [PostgreSQL] 查询控制台 重命名为 shiny_new_console

创建新的查询控制台

数据处理脚本

您可以通过编写代码并将文件放置在相应目录中,创建自定义数据提取器、聚合器和加载器。

例如,您有以下用于查找选定数据中最长公共子串的数据聚合器脚本的 Groovy 代码:

/* * Available context bindings: * COLUMNS List<DataColumn> * ROWS Iterable<DataRow> * OUT { append() } * FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); } * TRANSPOSED Boolean * plus ALL_COLUMNS, TABLE, DIALECT * * where: * DataRow { rowNumber(); first(); last(); data(): List<Object>; value(column): Object } * DataColumn { columnNumber(), name() } */ def lcs(X, Y) { int m = X.length() int n = Y.length() int result = 0 int end = 0 int[][] length = new int[2][n+1] int currRow = 0 for (int i = 0; i <= m; i++) { for (int j = 0; j <= n; j++) { if (i == 0 || j == 0) { length[currRow][j] = 0 } else if (X[i - 1] == Y[j - 1]) { length[currRow][j] = length[1 - currRow][j - 1] + 1 if (length[currRow][j] > result) { result = length[currRow][j] end = i - 1 } } else { length[currRow][j] = 0 } } currRow = 1 - currRow } if (result == 0) return "No Common Substring" return X.substring(end - result + 1, end + 1) } ArrayList<String> values = [] ROWS.each { row -> COLUMNS.each { column -> def value = row.value(column) if(value instanceof String) { values.add(value) } } } def result = values[0] values.each { value -> result = lcs(result, value) } OUT.append(result)

添加自定义数据聚合器

  1. 个文件 工具窗口中,导航到 临时文件和控制台 | 扩展 | 数据库工具和 SQL | 数据 | 聚合器

  2. 右键点击 聚合器 节点并选择 新建 | 文件

  3. 新建文件 弹出窗口中,输入新文件名。 例如, longest_common_substring.groovy

  4. 将您的新数据聚合器脚本粘贴到文件中。

    (可选)如果出现 转换粘贴的代码 对话框,请按 取消。 在本教程中,我们保存生成的脚本本身。

新的数据聚合器会出现在数据编辑器的 状态栏 的聚合器列表中,并可与您的数据一起使用。

将创建的脚本粘贴到新文件中

临时文件

在临时文件中,您可以存储代码草稿、临时笔记以及其他不应包含在项目上下文中且不需要的内容。

查询控制台 与临时文件之间的主要区别在于每个控制台仅附加到一个数据源,而临时文件无需附加到数据源即可存储代码。 但是,如果需要,临时文件可以附加到任何数据源。

临时文件通常对 SQL 以外的其他类型文件更有用,但也可以用于 SQL 文件。

例如,您需要快速将以下 DELETE 语句存储在某处:

DELETE FROM address ; DELETE FROM city ; DELETE FROM country ; DELETE FROM language ;

创建新的 SQL 临时文件

  1. 右键单击工具窗口中的任意元素并选择 新建 | 临时文件

    或者按 Ctrl+Alt+Shift+Insert

  2. 新建临时文件 弹出窗口中,选择 通用 SQL

    新的 SQL 临时文件将出现在 草稿 目录中。 IDE 会自动在编辑器中打开它。

  3. 在编辑器中,将您的语句粘贴到临时文件中。

将创建的脚本粘贴到新的临时文件中
最后修改日期: 2025年 9月 26日