实现或修改 IntelliJ `AnAction`,并在 `plugin.xml` 中注册。将显示名称和说明写入消息资源文件,按需设置图标,并通过事件协程作用域启动挂起任务,避免同步处理阻塞 IDE。
- 为 IDE 菜单添加操作
- 修改操作注册或图标
- 整理操作名称和说明
本指南说明如何更新 Python 环境测试所固定的 Miniconda 安装包版本,包括固定值位置、版本选择和系统兼容性检查,并帮助保留不同 conda 主版本的测试覆盖。
Bump the pinned Miniconda version for the Python conda env tests.
实测评分 未实测
查看安装方法本指南介绍如何更新 Python 环境测试下载并使用的 Miniconda 固定版本。指南指出固定值所在的文件、版本标记的格式,以及如何确认 Windows、Linux 和 macOS 对应的安装包都存在。您可以据此了解选择新版本的条件。指南还区分普通版本更新与新增或移除 conda 主版本测试项的情况,并说明如何保留不同版本分支的测试覆盖。
当您要更新 Python conda 环境测试使用的安装包时,可以参考本指南。它也能帮助您确认所需操作系统和架构的安装包是否齐全、旧主版本的测试是否仍被覆盖,以及更新对下载缓存和测试执行有何影响。
验证测试需要网络,每个环境约下载 150 MB。部分测试仅适用于单体仓库;在 community checkout 中应去掉命令里的 community/ 前缀,并跳过 intellij.python.junit5Tests 相关命令。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。
不计入评分。 由 AI(OpenAI Codex)于 2026年10月28日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
The Python env tests download and install Miniconda. They pin an exact installer version. This skill tells you how to move a pin.
One file holds every conda pin:
community/python/python-test-env/common/src/com/intellij/python/test/env/common/PredefinedPyEnvironments.kt
| Entry | Role |
|---|---|
CONDA | The default. @PyEnvTestCaseWithConda and LocalCondaRule use it. Keep it on the newest build. |
CONDA_24 | An old pin. It covers the conda.core.index.get_index branch of the helper script. |
CONDA_25 | An old pin. It covers the conda.core.subdir_data.SubdirData branch. |
There is no second place. The provider builds the download URL from the pin, and it verifies no checksum:
community/python/python-test-env/conda/src/com/intellij/python/test/env/conda/CondaPyEnvironmentProvider.kt
To find every consumer of a pin, search the repository for PredefinedPyEnvironments.CONDA.
A pin is the installer version token, not a plain conda version. The shape is
py<python>_<conda>-<build>, for example py312_26.7.1-1.
The provider expands the token into one of these names:
Miniconda3-<token>-Windows-x86_64.exeMiniconda3-<token>-Linux-x86_64.shMiniconda3-<token>-Linux-aarch64.shMiniconda3-<token>-MacOSX-arm64.shhttps://repo.anaconda.com/miniconda/. The page lists every installer with its date and
its sha256.Miniconda3-latest-*. The cache key holds the token, so a
floating name breaks reproducibility.MacOSX-x86_64 builds after py313_25.7.0-2.py312 prefix unless you have a reason to change it. The prefix only sets the Python
of the base install. Each test environment gets its own Python from the spec.CondaPackagingToolHelperTest runs against CONDA_24, CONDA_25, and CONDA. It protects the
version branches in community/python/helpers/conda_packaging_tool.py.
CONDA for a normal bump.ENVIRONMENTS_TO_TAGS in the same file, and add the entry to the
@RunOnEnvironments list of that test.CONDA reaches the same major. Two entries on one major waste a
download.A move of CONDA can remove coverage without a test failure. CONDA supplies the newest major to
CondaPackagingToolHelperTest. A move from conda 26 to conda 27 therefore leaves conda 26
untested, and every test stays green. Before you move CONDA across a major, add a constant for
the major you leave behind, and add it to @RunOnEnvironments.
ShortenPathTest holds the literal Miniconda3-py312_24.9.2-0-MacOSX-arm64. It is sample text for
a path-shortening assertion, and no code reads the version. Leave it alone.
The tests cache in ~/.cache/intellij-python-test-env/:
downloads/ holds the installer.conda/Miniconda3-<token>-<os>-<arch>/ holds the install.The token is part of the directory name. A bump therefore downloads about 150 MB again, and it leaves the old directory on disk. Delete an old directory by hand when you need the space.
Conda 25 added a terms-of-service gate on the default Anaconda channels. The provider runs
conda tos accept for pkgs/main and pkgs/r before it creates an environment, and it ignores a
failure. An older conda has no tos subcommand. You need no new work here for a bump.
Every command below needs the network, and each conda environment downloads about 150 MB. Run the
commands from the monorepo root. In a community checkout, drop the community/ prefix, and skip
the intellij.python.junit5Tests commands. That module is ultimate only.
./community/tests.cmd --module intellij.python.test.env.junit5 --test com.intellij.python.test.env.junit5.conda.showcase.PyEnvWithCondaShowCaseTest
./tests.cmd --module intellij.python.junit5Tests --test com.intellij.python.junit5Tests.env.tests.conda.CondaSdkCreatorTest
./tests.cmd --module intellij.python.junit5Tests --test com.intellij.python.junit5Tests.env.tests.packaging.CondaPackagingToolHelperTest
community/python/python-sdk/backend/resources/sdks.json lists the Miniconda builds that the
product offers to a user. It needs a sha256 for every artifact, and
community/python/build/src/org/jetbrains/intellij/build/pycharm/sdks/CondaUpdater.kt generates
it. That file is separate from the env tests.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
实现或修改 IntelliJ `AnAction`,并在 `plugin.xml` 中注册。将显示名称和说明写入消息资源文件,按需设置图标,并通过事件协程作用域启动挂起任务,避免同步处理阻塞 IDE。
将 IntelliJ JPS 测试模块迁移到 Bazel,并排查仅在 Bazel 中出现的失败。根据症状检查依赖、插件、测试数据和 runfiles,重新生成并验证目标。
按 IntelliJ 项目规范编写或审查 Kotlin 和 Java 代码,涵盖语言选择、格式、密封类型、线程注解及控制流异常处理。
本指南帮助您按 IntelliJ 项目规则拆分更改并撰写提交信息:有工单时使用编号和变更说明,无工单时使用标签与子系统名,并在需要时说明原因和决定。
使用多个 Python 类型检查器比较代码片段或文件的类型推断和报错判断,并汇总各工具的结论、耗时与诊断信息,可保存为 Markdown 报告。
整理 Compose Desktop 界面中的状态和副作用,让可组合函数负责绘制,由展示器或协调器处理应用决策。了解状态归属、Effect、可复用组件接口、延迟列表键、动画和性能,适用于单项界面修改。