DataGrip 2025.2 Help

内置 IDE 宏

DataGrip 提供了许多内置的 ——您可以使用这些变量来定义路径、选项以及用于 外部工具运行配置的其他命令行参数。 支持宏的对话框字段会在旁边显示一个加号图标

添加 IDE 宏

宏的值取决于当前上下文。 例如,要插入包含当前文件的目录名称,请使用 $FileDirName$。 要插入目录的完整路径,请使用 $FileDir$

描述

$WORKSPACE_DIR$

当前项目所属工作区的路径。 工作区是打开的文件层次结构的根目录,可以包含多个项目。

$PROJECT_DIR$

项目 运行.json 所在的根目录。 一个项目通常是用于开发和构建应用程序的文件集合,例如 Maven 或 Node.js 项目。

$USER_HOME$

用户主目录。

$FILE$

当前文件的绝对路径,包括扩展名。

$AffectedModuleNames$

与当前文件相关的 模块的名称,用逗号分隔。

$Classpath$

项目的完整类路径。

$ClasspathEntry$

与当前文件相关的类路径条目。

$ClipboardContent$

当前系统剪贴板的内容。

$ColumnNumber$

当前文件中文本光标所在的列号。

$ContentRoot$

当前文件所属的 content root 的路径。

$FileClass$

此文件定义的类的名称。

$FileDir$

包含当前文件的目录的绝对路径。

$FileDirName$

包含当前文件的目录名称。

$FileDirPathFromParent(dir)$

包含当前文件的目录相对于指定为参数的父目录的路径 dir

Argument 1: /Users/jetbrains/myProjects/FileDirPathFromParent/ Argument 2: 1

$FileDirRelativeToProjectRoot$

包含当前文件的目录相对于模块的 内容根的路径。

$FileDirRelativeToSourcepath$

包含当前文件的目录相对于 sourcepath 根的路径。

$FileEncoding$

当前文件的 encoding

$FileExt$

当前文件的扩展名。

$FileFQPackage$

当前文件的完全限定包名。

例如,在 com.example.mypackage.MyClass 的情况下,包的全限定名是 com.example.mypackage

$FileName$

当前文件的名称(包括所有扩展名)。

$FileNameWithoutAllExtensions$

当前文件的名称,不含任何扩展名。 这在文件扩展名被重复时很有用。 它将删除所有句点及其后的所有内容。

例如,如果文件是 hello.txt.txt ,则 $FileNameWithoutAllExtensions$ 宏将返回 您好

$FileNameWithoutExtension$

不带扩展名的文件名。 这只会删除一个点号和一个扩展名的组合。

例如,如果文件是 hello.txt.txt ,则 $FileNameWithoutExtension$ 宏将返回 hello.txt

$FilePackage$

当前文件的直接包名(非完全限定)。

例如,对于 com.example.mypackage.MyClass ,该包的名称是 mypackage

$FileParentDir$

该文件所在目录的上级目录的名称。

$FilePath$

当前文件的绝对路径。

$FilePathRelativeToProjectRoot$

当前文件相对于模块的 content root的路径。

$FilePathRelativeToSourcepath$

到当前文件的路径相对于 sourcepath 根目录。

$FilePrompt$

显示文件系统对话框以选择文件。

$FileRelativeDir$

当前文件相对于模块的 content root 所在的目录路径。

$FileRelativePath$

当前文件相对于模块的 content root的路径。

$IsMake$

如果编译是用 true 执行的,则返回 make

$JavaDocPath$

JavaDoc 输出目录。

$JDKPath$

项目 JDK的路径。

$LineNumber$

光标所在的当前文件的行号。

$ModuleFileDir$

当前模块文件所在目录的绝对路径。

$ModuleFilePath$

当前模块文件的绝对路径。

$ModuleName$

当前模块文件的名称,不含扩展名。

$ModuleSdkPath$

当前模块的 JDK 路径。

$ModuleSourcePath$

当前模块的源路径。

$OSName$

操作系统的小写名称。

它返回 System.getProperty("os.name") 被截断到第一个空格字符的值。 所以它不包含具体版本,只包含操作系统系列,例如 windowsmaclinux

$OSUser$

操作系统用户名。

$OutputPath$

当前模块的输出路径。

$Password$

显示一个对话框以指定密码。 与 $Prompt$类似,但具有输入掩码。

您可以选择在冒号后添加提示文本,例如: $Password:API token$

$ProjectFileDir$

当前项目目录的绝对路径。

$ProjectName$

当前项目目录的名称。

$Projectpath$

当前项目的源路径。

$Prompt$

显示一个用于传递任意字符串的对话框。

您可以选择性地指定提示文本和默认值,以冒号分隔,例如: $Prompt:Username:Alice$

$RemoteProjectFileDir$

远程服务器上项目目录的绝对路径。

$SelectedText$

当前在编辑器中选中的文本。

$SelectionEndColumn$

选择结束的列号。

$SelectionEndLine$

所选行号的结尾位置。

$SelectionStartColumn$

选择开始的列号。

$SelectionStartLine$

所选内容开始的行号。

$Sourcepath$

项目的完整 sourcepath。

$SourcepathEntry$

与当前文件相关的 sourcepath 条目。

$TempDir$

临时文件目录。

在 Windows 上,它要么返回 %TEMP% 环境变量的值,要么退回到用户主目录下的 AppData\Local\Temp (由 System.getProperty("user.home") 返回)。

在其他操作系统上, $TempDir$ 返回 /tmp

$UnixSeparators(path)$

将路径作为参数,并将所有分隔符转换为正斜杠。

例如, $UnixSeparators(\foo\bar)$ 将返回 /foo/bar

自定义宏

您可以使用 com.intellij.ide.macro.Macro 扩展点为您的插件定义自定义宏。 然后,注册该 macro 到 """ plugin.xml """

<macro implementation="full.macro.class.Name"/>

有关可用扩展点的更多信息,请参阅 IntelliJ Platform Plugin SDK 文档

最后修改日期: 2025年 9月 26日