PyCharm 2025.3 Help

内置 IDE 宏

PyCharm 提供了许多内置的 ,可用于为 外部工具运行配置 定义路径、选项以及其他命令行参数。 支持宏的对话框字段会在其旁显示加号图标

添加 IDE 宏

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

说明

$WORKSPACE_DIR$

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

$PROJECT_DIR$

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

$USER_HOME$

用户主目录。

$FILE$

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

$AffectedModuleNames$

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

$ClipboardContent$

系统剪贴板的当前内容。

$ColumnNumber$

插入符号在当前文件中的列号。

$ContentRoot$

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

$FileDir$

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

$FileDirName$

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

$FileDirPathFromParent(dir)$

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

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

$FileDirRelativeToProjectRoot$

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

$FileDirRelativeToSourcepath$

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

$FileEncoding$

当前文件的 编码

$FileExt$

当前文件的扩展名。

$FileName$

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

$FileNameWithoutAllExtensions$

当前文件名(不含任何扩展名)。 当文件扩展名重复时非常有用。 它将移除所有点号及其后的所有内容。

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

$FileNameWithoutExtension$

文件的名称(不含扩展名)。 这只会移除一次点号以及其后的扩展名。

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

$FileParentDir$

当前文件所在目录的父目录名称。

$FilePath$

当前文件的绝对路径。

$FilePathRelativeToProjectRoot$

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

$FilePathRelativeToSourcepath$

当前文件相对于源路径根的路径。

$FilePrompt$

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

$FileRelativeDir$

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

$FileRelativePath$

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

$IsMake$

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

$LineNumber$

插入符号在当前文件中的行号。

$ModuleFileDir$

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

$ModuleFilePath$

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

$ModuleName$

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

$ModuleSdkPath$

项目解释器的路径。

$ModuleSourcePath$

当前模块的源路径。

$OSName$

操作系统名称(小写)。

它返回 System.getProperty("os.name") 的值,并在第一个空格字符处截断。 因此不包含具体版本,仅包含操作系统系列,例如 windowsmaclinux

$Password$

显示对话框以指定密码。 类似于 $Prompt$ ,但使用掩码输入。

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

$ProjectFileDir$

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

$ProjectName$

当前项目目录的名称。

$Projectpath$

当前项目的源路径。

$Prompt$

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

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

$PyInterpreterDirectory$

包含为项目选择的 Python 解释器的目录。

$RemoteProjectFileDir$

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

$SelectedText$

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

$SelectionEndColumn$

选区结束所在的列号。

$SelectionEndLine$

选区结束所在的行号。

$SelectionStartColumn$

选区开始所在的列号。

$SelectionStartLine$

选区开始所在的行号。

$Sourcepath$

项目的完整源路径。

$SourcepathEntry$

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

$TempDir$

临时文件目录。

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

在其他操作系统上, $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 Plugin SDK 文档

最后修改日期: 2025年 12月 2日