- 检测到的配置:从项目的构建文件读取,构建文件一变就重新读取。
- 用户配置:你在“运行/调试配置”中新建或保存的配置。
- 临时配置:运行光标处的代码或当前文件时自动生成,只保留最近 5 个。
检测到的配置
打开项目时,OpenIDEA 会扫描构建文件(文件夹里包含多个项目时也会扫描嵌套项目),列出能运行的内容:
插件也可以提供检测器。构建文件变化时检测到的配置会自动重新加载;需要手动刷新时,在“查找操作”里运行 重新加载运行配置。
编辑检测到的配置后,改动会保存为一个同名覆盖的用户配置。删除检测到的配置,则会在当前工作区里隐藏它。
在编辑器里运行
1
点击装订区图标
Rust、Go、Java、Kotlin、Scala、Groovy、JavaScript / TypeScript、Python、PHP、Ruby、C# 和 C / C++ 中的
main
函数、测试和测试类旁边会出现 ▶ 图标,package.json 的 scripts 条目旁也有。点击后可以选 运行 ’…’、调试
’…’、其他执行器(如覆盖率、性能分析)或 修改运行配置…。2
或者运行上下文
运行 › 运行上下文配置
会运行光标处的测试或程序,或者当前文件。编辑器、编辑器标签页和项目视图的右键菜单里也有对应的 运行 ’…’、调试
’…’ 和 更多运行/调试。在项目视图里对目录使用时,会运行该目录下的测试。
3
保存下来
上下文运行生成的是临时配置。打开配置选择器,选择 保存“…”配置,就能把它转成用户配置。
启动配置
在配置选择器里按住
Shift 选择,会以调试方式启动。第一项 当前文件 会运行当前编辑器里的文件。
停止 会停止当前聚焦的运行标签页的进程;在其他地方触发时,如果只有一个进程在跑就直接停止,有多个时列出它们并提供 全部停止。进程不退出时再按一次停止即可强制结束。
运行任何内容… 可以在项目目录运行一条 shell 命令、一个运行配置或一个构建工具目标。以 mvn 或 gradle 开头的命令会补全目标和任务。
编辑配置
打开 运行 › 编辑配置…(运行微件的菜单里也有)。“运行/调试配置”对话框左侧按文件夹列出所有配置。- 添加新配置(
⌘N/Ctrl+N,或Alt+Insert):弹出配置类型列表。 - 复制配置、创建新文件夹、上移 / 下移:整理列表。按
Delete删除选中项。 - 编辑配置模板…:设置每种类型新建配置时的默认值。
- 存储为项目文件:决定配置保存在哪里(见下文“配置的存储位置”)。
- 修改选项(
⌥M/Alt+M):往表单里加可选字段。
配置类型
调试器另外提供只用于附加的类型,如 远程 JVM 调试、Go 远程、Python 远程调试 (debugpy)、附加到 Node.js、PHP 远程调试 (Xdebug),详见调试。插件也可以注册自己的类型。
通用字段
- 运行于:本地计算机,或在 设置 › 构建、执行、部署 › 运行目标 中添加的 SSH 主机。运行目标上不支持调试。参见 SSH。
- 工作目录:相对于项目根目录,留空即项目根目录。
- 环境变量:
VAR=value形式,用;分隔。点旁边的列表按钮打开“环境变量”对话框,可以关闭 包括系统环境变量。 - 调试适配器:按“调试”时这个配置使用哪个调试器(如
debugpy、js-debug、codelldb、delve)。
环境变量与 .env 文件
打开 修改选项 › “.env” 文件路径 后,可以加载一个或多个 .env 文件(相对项目根目录,用 ; 分隔)。支持 KEY=value、export 前缀、# 注释、带引号的值以及 ${VAR} 引用。配置里直接写的变量优先级高于 .env 文件。
开启 包括系统环境变量 时,进程还会继承 IDE 的环境变量和登录 shell 里的变量。
修改选项
在输出控制台中模拟终端 会把进程放在终端里运行,适合需要 TTY 的程序;它和 重定向输入 不能同时使用。
启动前任务
在 修改选项 › 添加启动前任务 中添加,进程启动前按顺序执行:- 运行另一个配置
- 构建项目、构建模块、构建工件、构建 .NET 项目(仅 .NET 配置)
- 运行外部工具
- 运行 Shell 命令
- 激活工具窗口
复合配置
复合 配置一次启动多个配置:运行它会启动全部成员,调试它会逐个调试每个成员。在运行微件上点停止会把它们一起停掉。“运行”工具窗口
每次启动都会在底部的 运行 工具窗口里开一个标签页。工具栏有 重新运行、调试、重新运行失败的测试(测试运行时)、更新应用、查找…、滚动到末尾、软换行、全部清除 和 编辑配置…。- 输出里的文件路径和堆栈帧都可以点击跳转。
- 重复的行可以折叠。折叠规则、缓冲区大小和控制台编码在 设置 › 构建、执行、部署 › 控制台 中配置。
- 测试运行时,标签页会在输出旁显示测试树,参见测试。
导入已有配置
“查找操作”里有两个导入操作(对话框里也有入口):- 从 .vscode/launch.json 导入运行配置:导入 Python 和 Node.js 的 launch / attach 配置以及 compounds。
${workspaceFolder}、${env:NAME}这类含义固定的变量会被替换;用到${file}、${input:…}、${command:…}的条目会被跳过。 - 从 JetBrains 导入运行配置(.run、.idea):读取
.run/*.run.xml、.idea/runConfigurations/*.xml和.idea/workspace.xml。Python、Django、pytest、npm、Jest、Vitest、Node.js、Shell Script、Application、JAR Application、Spring Boot、Go 和复合配置会被转换,其他类型跳过。
配置的存储位置
两个文件都是普通 TOML,可以手动编辑: