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

宏的值取决于当前上下文。 例如,要插入包含当前文件的目录名称,请使用 $FileDirName$。 要插入该目录的完整路径,请使用 $FileDir$。
宏 | 描述 |
|---|---|
| 当前项目所在工作区的路径。 工作区是打开文件层级的根目录,可以包含多个项目。 |
| run.json 所在项目的根目录。 项目通常是用于开发和构建应用程序的一组文件,例如 Maven 或 Node.js 项目。 |
| 用户主目录。 |
| 当前文件的绝对路径,包括扩展名。 |
| 与当前文件相关的 模块 名称,使用逗号分隔。 |
| 系统剪贴板当前的内容。 |
| 当前文件所属的 内容根目录 路径。 |
| 包含当前文件的目录的绝对路径。 |
| 包含当前文件的目录名称。 |
| 包含当前文件的目录相对于作为参数 例如,如果设置如下程序参数:
Argument 1: /Users/jetbrains/myProjects/FileDirPathFromParent/
Argument 2: 1
![]() |
| 包含当前文件的目录相对于模块 内容根目录 的路径。 |
| 包含当前文件的目录相对于 sourcepath 根目录的路径。 |
| 当前文件的 编码。 |
| 当前文件的扩展名。 |
| 当前文件的名称(包括所有扩展名)。 |
| 当前文件不带任何扩展名的名称。此功能适用于文件扩展名被重复的情况。将移除任何句点及其后的所有内容。 此功能适用于文件扩展名被重复的情况。 将移除任何句点及其后的所有内容。 例如,如果文件是 hello.txt.txt ,则 |
| 不带扩展名的文件名称。 仅移除一个句点及其后的扩展名部分。 例如,如果文件是 hello.txt.txt ,则 |
| 包含当前文件的目录的父目录名称。 |
| 当前文件的绝对路径。 |
| 当前文件相对于 内容根目录 的路径。 |
| 当前文件相对于 sourcepath 根目录的路径。 |
| 显示文件系统对话框以选择文件。 |
| 当前文件所在目录相对于模块 内容根目录 的路径。 |
| 当前文件相对于模块 内容根目录 的路径。 |
| 用于存储 Go 工具的 bin 目录路径。 |
| Go 可执行文件的路径。 |
| 当前文件的导入路径。 |
| GOPATH 环境变量中设置的路径。 |
| 项目 Go SDK 的路径。 |
| 如果使用 |
| 当前模块文件所在目录的绝对路径。 |
| 当前模块文件的绝对路径。 |
| 当前模块文件不带扩展名的名称。 |
| 操作系统名称(小写形式)。 返回的是 |
| 显示用于输入密码的对话框。 与 $Prompt$ 类似,但输入会被掩码。 可选地,在冒号后指定提示文本,例如: |
| 当前项目目录的绝对路径。 |
| 当前项目目录的名称。 |
| 当前项目的源路径。 |
| 显示对话框以传递任意字符串。 可选地使用冒号分隔提示文本和默认值,例如: |
| 远程服务器上项目目录的绝对路径。 |
| 项目的完整 sourcepath。 |
| 项目 sourcepath 中与当前文件相关的条目。 |
| 临时文件目录。 在 Windows 上,将返回 在其他操作系统上, |
| 将路径作为参数,并将所有分隔符转换为正斜杠。 例如, |
项目外资源的路径
您可以使用 路径变量 来指向项目外部的资源。 配置路径变量的方法与添加宏相同——在变量前后添加美元符号: $MY_VAR$。
创建新的路径变量
按 Ctrl+Alt+S 打开设置,然后选择 。
单击
,输入变量的名称和值,然后单击 确定 以应用更改。
自定义宏
您可以使用 com.intellij.ide.macro.Macro 扩展点为插件定义自定义宏。 然后在 plugin.xml 中注册该宏:
有关可用扩展点的更多信息,请参阅 IntelliJ Platform 插件 SDK 文档。
