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

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