GoLand 2025.2 Help

内置 IDE 宏

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

添加 IDE 宏

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

描述

$WORKSPACE_DIR$

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

$PROJECT_DIR$

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

$USER_HOME$

用户主目录。

$FILE$

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

$AffectedModuleNames$

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

$ClipboardContent$

系统剪贴板当前的内容。

$ContentRoot$

当前文件所属的 内容根目录 路径。

$FileDir$

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

$FileDirName$

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

$FileDirPathFromParent(dir)$

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

例如,如果设置如下程序参数: $FileDirPathFromParent(/Users/jetbrains/myProjects/FileDirPathFromParent/main.go)$ 1 ,则输出如下:

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

$FileDirRelativeToProjectRoot$

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

$FileDirRelativeToSourcepath$

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

$FileEncoding$

当前文件的 编码

$FileExt$

当前文件的扩展名。

$FileName$

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

$FileNameWithoutAllExtensions$

当前文件不带任何扩展名的名称。此功能适用于文件扩展名被重复的情况。将移除任何句点及其后的所有内容。 此功能适用于文件扩展名被重复的情况。 将移除任何句点及其后的所有内容。

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

$FileNameWithoutExtension$

不带扩展名的文件名称。 仅移除一个句点及其后的扩展名部分。

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

$FileParentDir$

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

$FilePath$

当前文件的绝对路径。

$FilePathRelativeToProjectRoot$

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

$FilePathRelativeToSourcepath$

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

$FilePrompt$

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

$FileRelativeDir$

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

$FileRelativePath$

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

$GoBinDirs$

用于存储 Go 工具的 bin 目录路径。

$GoExecPath$

Go 可执行文件的路径。

$GoFileImportPath$

当前文件的导入路径。

$GOPATH$

GOPATH 环境变量中设置的路径。

$GOROOT$

项目 Go SDK 的路径。

$IsMake$

如果使用 make 编译,则返回 true

$ModuleFileDir$

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

$ModuleFilePath$

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

$ModuleName$

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

$OSName$

操作系统名称(小写形式)。

返回的是 System.getProperty("os.name") 的值,并截取至第一个空格字符。 因此不包含具体版本号,仅包含操作系统家族名称,例如 windowsmaclinux

$Password$

显示用于输入密码的对话框。 与 $Prompt$ 类似,但输入会被掩码。

可选地,在冒号后指定提示文本,例如: $Password:API token$

$ProjectFileDir$

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

$ProjectName$

当前项目目录的名称。

$Projectpath$

当前项目的源路径。

$Prompt$

显示对话框以传递任意字符串。

可选地使用冒号分隔提示文本和默认值,例如: $Prompt:Username:Alice$

$RemoteProjectFileDir$

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

$Sourcepath$

项目的完整 sourcepath。

$SourcepathEntry$

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

$TempDir$

临时文件目录。

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

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

$UnixSeparators(path)$

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

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

项目外资源的路径

您可以使用 路径变量 来指向项目外部的资源。 配置路径变量的方法与添加宏相同——在变量前后添加美元符号: $MY_VAR$

创建新的路径变量

  1. Ctrl+Alt+S 打开设置,然后选择 外观与行为 | 路径变量

  2. 单击 添加按钮 ,输入变量的名称和值,然后单击 确定 以应用更改。

自定义宏

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

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

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

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