Files
openide/python/pluginCore
Vitaly Legchilkinandintellij-monorepo-bot f23b2dea40 PY-90077 show newly added interpreter in "Show All" without reopening
The interpreter list was served from a cached ProjectSdksModel held by the PyConfigurableInterpreterList project service, refreshed only on explicit reset(). Adding an interpreter writes straight to ProjectJdkTable, so the cache went stale and the new interpreter appeared only on the second opening of the dialog.

Read the live SDK table instead: the combo and widget query ProjectJdkTable directly, and the "Show All" dialog now owns a short-lived ProjectSdksModel reset on open. The logic moves to Project.getAssignablePythonSdks / filterAssignablePythonSdks extensions in python-sdk; PythonInterpreterTargetEnvironmentFactory and its target helpers move down to python-sdk so the filtering can live there (packages unchanged). PyConfigurableInterpreterList is kept as a deprecated shim delegating to the new API, since external plugins still reference getInstance()/getAllPythonSdks().

Also tie the run-config common-options form SDK-table listener to a parentDisposable, fixing a pre-existing listener leak.


(cherry picked from commit d20a1a1b7c2af46f8d44a10a7824c86a32698c1b)

IJ-MR-210000

GitOrigin-RevId: 77dc194b005e8b295081e424e3a3234ccf4d5ff2
2026-06-24 16:02:17 +00:00
..