Commit Graph

76 Commits

Author SHA1 Message Date
Vladimir Krivosheev
227c6496d3 IJPL-233558 IJ-MR-184958 IJ-MR-184993 IJ-MR-179029 IJ-MR-184126 IJ-MR-181153 IJ-MR-146078 IJ-MR-175479 IJ-MR-186058 refactor(python): apply internal visibility and style cleanup
GitOrigin-RevId: 55813678163231437659883dcfde46444414f23e
2026-02-12 15:38:42 +00:00
Vladimir Krivosheev
c546068c91 IJPL-233558 IJ-MR-184958 IJ-MR-184993 IJ-MR-179029 IJ-MR-184126 IJ-MR-181153 IJ-MR-146078 IJ-MR-175479 IJ-MR-186058 refactor: apply dependency and style cleanups
add explicit kotlin-stdlib, restructure projectFrame

GitOrigin-RevId: c151a69ae1e9b925b1892a3b01ba5d01566bba3b
2026-02-12 15:38:41 +00:00
Ilya.Kazakevich
8fd70026cb cleanup [python]: remove unused symbols
GitOrigin-RevId: cbefb7c4667b2d2d1a8f38bcddc28fb51a0ce226
2026-02-10 23:07:23 +00:00
Maxim Popov
a45f149b8a [debugger] PY-87450 add debugpy justMyCode checkbox for python configurations, where it is supported
Merge-request: IJ-MR-190905
Merged-by: Maxim Popov <maxim.popov@jetbrains.com>

GitOrigin-RevId: b34a0edf0c89ffd1967516810e0160c5f0cb0fce
2026-02-10 21:12:30 +00:00
Ilya.Kazakevich
c797dcc7bc cleanup [python]: remove unused symbol, hide symbols not used by external plugins
GitOrigin-RevId: e5728587e408460009fa5c59fb2a1b0bcd7463a6
2026-02-04 22:34:24 +00:00
Leonid Shalupov
188b7ef96f IJI-3282 Optimize imports
GitOrigin-RevId: 3b5c00d8ff20b8d0bb6005bc450921085d2da9b2
2026-01-31 17:03:42 +00:00
Yuriy Artamonov
9514b1d461 [platform] IJPL-224518 Cleanup private modifier usages with extensions/services in intellij.python.*
GitOrigin-RevId: 8a3b9d6763dbb00e30c9266ca1decc9803ef6304
2025-12-22 22:17:32 +00:00
Vladimir Krivosheev
9102a339c5 IJPL-218803 IJ-MR-179029 IJ-MR-175479 IJ-MR-184126 don't export execution from lang to avoid excessive and incorrect deps on debugger
GitOrigin-RevId: f27713c975606c010f230539bc7ffe7f9c6c815c
2025-11-29 15:49:21 +00:00
Ilya Kazakevich
7a580fd48b link/PY-85711/skip-non-python-modules-for-non-pycharm-ides
[python]: PY-85709: Support Python facet for non-PyCharm IDEs.

The following code doesn't work for anything but PyCharm.
```kotlin
ModuleRootManager.getInstance(module).sdk
```

We now call `com.jetbrains.python.module.PyModuleService.findPythonSdk` which supports both Python SDK and Facet.

[python]: PY-85711 : Do not touch non-python modules in `removeFakeModuleEntity` and do not set `inherited` for newly created modules.

1. We should never delete any module which isn't python.

2. No need to look for sdk in workspace as we already do that for all modules by reverting their SDK settings. Moreover, `InheritedSdkDependency` was wrong: it set project-level Java JDK as Python SDK

[python]: PY-85711 : Make `PyActiveSdkModuleConfigurable` filter non-python modules.

See `com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable.isSuitableForModule` comment

[python]: PY-85711 : Move `isPythonModule` to `PyModuleService`.

We are going to reuse it all over the code

[python]: PY-85711 : Refactor `PyModuleService`.

Drop unneeded class


Merge-request: IJ-MR-183088
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>

GitOrigin-RevId: 19f65ba65ea7ea8d8ff8698a64e6a3cbe6803cb0
2025-11-24 22:50:38 +00:00
Timur Malanin
defbf5a1d0 PY-80882 Introduce support for "Run with" tools in Python run configurations. Introduce PyRunToolProvider and UvRunToolProvider to enable uv run for UV SDKs and update Python run configuration logic accordingly
GitOrigin-RevId: 0323bba73b2f9d3530280c5d03e749c664adb425
2025-10-13 19:57:17 +00:00
Vitaly Legchilkin
84934e9e9e [python] (IJPL-205889) (BAZEL-2462) don't call getOrCreateAdditionalData for non-python sdks
+ add requirePythonSdk() verification for the Sdk extension functions, these methods are not designed to be called for non-python sdks and now will throw IllegalArgumentException.

also corrects dependency tree:
+ move PythonSdkUtil to the python.sdk module, remove dependency on psi.impl
+ create PySkeletonUtil for skeleton utils and leave it in the psi.impl

[python] (IJPL-205889) (BAZEL-2462) don't call getOrCreateAdditionalData for non-python sdks

+ add requirePythonSdk() verification for the Sdk extension functions, these methods are not designed to be called for non-python sdks and now will throw IllegalArgumentException

also corrects dependency tree:
+ move PythonSdkUtil to the python.sdk module, remove dependency on psi.impl
+ create PySkeletonUtil for skeleton utils and leave it in the psi.impl

GitOrigin-RevId: 20d958c5e15cc4e05545b2e61b126b5e015696ed
2025-10-10 18:17:28 +00:00
Nikolay Chashnikov
c3d006d45e [plugin model] use 'internal' visibility for content modules which are used from modules of other plugins (IJPL-207059)
These modules and their classes don't have external usages, so they shouldn't be made 'public' at least for now. The 'namespace' is also set to 'jetbrains' for plugins which contain such modules or modules which use them to allow 'internal' visibility to work.

GitOrigin-RevId: 198007e49320075dc27faadde6963e98332296a4
2025-10-08 18:39:06 +00:00
Alexander Koshevoy
666c4f449f [projectModel] Partition "Global Libraries" per eel environment and select via Project (IJPL-175311)
Application‑level libraries ("Global Libraries" in UI) must be isolated by the environment, so each EEL environment sees only its own library set. This prevents cross‑environment leakage and aligns library scoping with SDK scoping.

Notes
- Environment choice is derived from the passed `Project` (carrier of the already‑resolved `EelMachine`), so selection is synchronous and safe for this API surface.
- API names stay as they are; documentation clarifies that the `Project` parameter selects the environment for the application‑level table and does not turn it into a project‑level table.
- In the Project Structure UI, the existing environment‑scoped modifiable model remains owned by the UI; outside the UI, callers get a standalone modifiable model for the chosen environment.

GitOrigin-RevId: e88445929d19012d029e79d44f09f694aba8df6f
2025-10-06 22:52:56 +00:00
Vladimir Krivosheev
9f425c84ea IJ-MR-175479 IJ-CR-146078 IJPL-209476 guava as product module (part 2)
GitOrigin-RevId: 22ee846c39d44cd481ad55d11889ff43ad3b389a
2025-10-04 19:03:47 +00:00
Ilia Kirianovskii
f43aa95086 [bazel] Update build files (IJI-3062)
GitOrigin-RevId: 98a67396a48bddc3d084cc93c50ae2f2017bfe8c
2025-09-29 00:11:15 +00:00
Vladimir.Koshelev
c5b44ca085 [python] PY-84398 get rid of package prefix in python modules.
It doesn't work. Sad, but true.

GitOrigin-RevId: c6cf4f2971ce813a2ce18afb2dcee22c2c5dad75
2025-09-26 15:15:29 +00:00
Vladimir.Koshelev
ba393efaa7 [python] PY-84398 get rid of embedded loading rules in PythonCore plugin, fix related issues
GitOrigin-RevId: 54f4bb333e0ca06a002a86c75f0bbc474863253e
2025-09-26 15:15:29 +00:00
Ilya.Kazakevich
fd6322f117 Python: move classes to com.jetbrains.python.sdk.impl and close it.
`com.jetbrains.python` was closed by accident.

GitOrigin-RevId: 78109e34c720abfa2cefb1fa7d8d20db2ed1ad11
2025-09-22 18:50:06 +00:00
Ilia Kirianovskii
dc268560b6 [bazel] Update build files (IJI-2835)
GitOrigin-RevId: 275260ab73f59d3c08f0b4cb9f4c89b74054094a
2025-08-20 08:49:22 +00:00
Vladimir Krivosheev
a49e310575 IJ-MR-162467 don't export intellij.platform.lang.core
GitOrigin-RevId: dea0fc36382a29eda134dba69917d41c7b585cf2
2025-06-18 11:28:23 +00:00
Vladimir Krivosheev
b935234c91 IJ-MR-162467 don't export intellij.platform.projectModel
GitOrigin-RevId: 11c0bf5ca0f3a6d892658a2b149d85cace9aa2b8
2025-06-14 13:00:48 +00:00
Vladimir Krivosheev
ef0323d07c IJ-MR-162467 don't export intellij.platform.core
GitOrigin-RevId: 05f350c1c087be1bf9b46d8bdac5345a65f55958
2025-06-13 21:52:48 +00:00
Vladimir Krivosheev
65fe061584 IJ-MR-162467 don't export intellij.platform.analysis
GitOrigin-RevId: fcbcb68010b58cb507fee2c47473758b999e471b
2025-06-04 11:16:33 +00:00
Vladimir Krivosheev
fbc9805e89 IJ-MR-162467 don't export intellij.platform.jps.model
GitOrigin-RevId: ebaebc90d514e5f3046fe2b973647da4bf156625
2025-05-14 18:10:23 +00:00
Vladimir Krivosheev
7cf9ef2b29 update bazel files
GitOrigin-RevId: e78f86bd17affd7892fd1af8e157f033906b1865
2025-05-09 15:36:06 +00:00
Vladimir Krivosheev
644a6b2e81 IJ-MR-162467 don't export intellij.platform.editor.ui
GitOrigin-RevId: 8894abe16fb347de7649bfb2d7888b6e6fe0232c
2025-05-09 14:20:40 +00:00
Vladimir Krivosheev
6f8ff07ccc simplify bazel labels (another step towards using simple names that reflect directory structure)
GitOrigin-RevId: 12bfb2d0fa315d87c7a4ade363d0f834cf324b71
2025-05-08 16:58:30 +00:00
Vladimir Krivosheev
0bc1cf1557 update bazel files
GitOrigin-RevId: 7320d3eff3aba093692ce66839c720ece6d7c4db
2024-12-30 11:28:24 +00:00
Vladimir Krivosheev
cc667842f7 IJ-CR-146078 do not export intellij.platform.ide.impl
GitOrigin-RevId: 16a29b914bf81d4d5e3cdb43c64b088113a2fcd4
2024-12-30 10:16:07 +00:00
Vladimir Krivosheev
25233df1b1 cleanup - isEmpty
GitOrigin-RevId: 100d69abb6a423556574a72e82508fdb8f5d7fa3
2024-12-27 14:41:14 +00:00
Vladimir Krivosheev
68d99c6550 cleanup
GitOrigin-RevId: 9cb238c220249088bfc75a448eb310b93c7fc45c
2024-12-26 14:56:01 +00:00
Vladimir Krivosheev
a522f96d66 do not export deps blindly (part 3)
GitOrigin-RevId: 7277ece9ded25f1111febc8dccaba9ac8cc75c21
2024-12-22 20:28:42 +00:00
Vladimir Krivosheev
98799639aa do not use _test as lib - test targets do not support this
GitOrigin-RevId: f2f49db4294b6a64040dbbd5f1d95e972cbd70a3
2024-12-15 18:32:30 +00:00
Alexey Kudravtsev
10e7677c16 fix "immutable collection modified" warnings
GitOrigin-RevId: bc70a53538fa8eddf59d27197c5b74c3afcffb1b
2024-12-11 16:28:34 +00:00
Vladimir Krivosheev
17916c90f8 libraries -> lib, resources, opt-in, test deps
GitOrigin-RevId: db66ee95dcb0f0553b40c9cc56cd6afed8634cdd
2024-11-27 13:53:42 +00:00
Roman Shevchenko
a5666abead [project] pruning FileChooserDescriptor overrides (IJPL-150176 prerequisite)
`BrowseFolderRunnable` and `*WithBrowseButton` family: getting rid of separate "title" and "description" parameters in favor of the chooser descriptor object, to avoid cloning the latter down the road.

GitOrigin-RevId: 33ec5968a1db953c60848974135055c288accf85
2024-09-06 11:41:43 +00:00
Egor.Eliseev
0c73c9eff9 PY-72274 separating content for python core/pro plugins
1. Delete `intellij.python.community.impl.xml` (move content to `PythonCore` plugin). It is necessary to fix incorrect dependencies: `PythonCore`, `Pythonid` include the same module.
2. Fixed dependencies: if some plugin/module needs Python core functionality, then it should depend on `PythonCore`.


Co-authored-by: Vladimir Koshelev <Vladimir.Koshelev@jetbrains.com>

Merge-request: IJ-MR-136158
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>

GitOrigin-RevId: ce9ed4c17f601ee1ca2b6cf608f4e30fdac1d879
2024-06-19 21:39:24 +00:00
Ilya.Kazakevich
61d3b04a34 [python] actions were missing localization bundle
GitOrigin-RevId: 28a2c44d05cd4901ed05bcddacb17fe739d648a0
2024-03-18 13:35:48 +00:00
Ilya.Kazakevich
9d4751f238 [python, ds, jupyter]: Migrate Python support to V2
Layout:

  JPS modules
  `intellij.python.community`
  `intellij.python.community.impl`
  `intellij.python.parser`
  `intellij.python.psi`
  `intellij.python.psi.impl`
  `intellij.python.ast`
  use package `com.jetbrains.python`
  and go to `intellij.python.community.impl` v2 module

  JPS module
  `intellij.python`
  uses package `com.intellij.python.pro`
  and goes to `intellij.python/pro` v2 module

  Both v2 modules (along with lots of others) come with
  `PythonId` (prof) or `PythonCore` (community) plugins

  DS bundles  `intellij.python.community.impl`

  Idea and other Mini IDEs get `PythonCore` or `PythonId` plugin that bundle modules for Idea and mini IDEs

GitOrigin-RevId: 98f418c52d90d51b9adf3250c561f2c36c767e2d
2024-01-22 20:26:58 +00:00
Ilya.Kazakevich
5e4dbef015 [python] Move plugin-specific classes to the correct package
GitOrigin-RevId: 14efb7be0fd8f9614a1849c9345bcbf319f76cb9
2024-01-15 23:49:32 +00:00
Bernhard Geisberger
61550843c9 [fleet] Python SDK library might be created before listener invocation
GitOrigin-RevId: d1ff30bb2f6c3d2764ca7cc0c22e34af2b4fd6a6
2023-12-19 02:01:31 +00:00
Andrey Cherkasov
06342a71b3 [python] Make extension classes final
GitOrigin-RevId: d650b5e733d806a06911f942cfd1dec70197b061
2023-12-13 20:02:09 +00:00
Vladimir Koshelev
c70c571af1 [python] initial support for ".env" files PY-5543
GitOrigin-RevId: 7dde72daf89f1a0f856d685a6c1c5d799b8c5eb9
2023-10-10 08:27:59 +00:00
Daniil Ovchinnikov
97f0a7fd3b migrate usages of ModalityState.NON_MODAL to ModalityState.nonModal
GitOrigin-RevId: fb4855bfa90dbf384fed24871e4b28ab803847bb
2023-06-09 21:58:50 +00:00
Pavel Porvatov
b89bd59e4a Using selected() method when possible
GitOrigin-RevId: 337ce4959abc631cef05aa95661b0bd92be35f5b
2023-04-05 15:19:16 +00:00
Elizaveta Shashkova
308f9110d7 PY-58889 New UI for Python Run configurations
Partial implementation of PY-44688

GitOrigin-RevId: 686c48a6f2649dfebcd079f414cce19559374032
2023-02-21 16:51:46 +00:00
Alexey Kudravtsev
eadeade0de mark several methods Unmodifiable to highlight more probelms
GitOrigin-RevId: 18e5e68e451ffef4333c057e33d03f865deeeb65
2023-02-21 04:13:14 +00:00
Vladimir Krivosheev
57764d700b mark classes final
GitOrigin-RevId: 6414b6f2119c82c7567987dd30b35cab5491d9e2
2022-12-30 06:58:01 +00:00
andrey.matveev
70d6a4eb79 PY-55360 Use sdk instead of sdkHomePath to allow select interpreter in docker compose
(cherry picked from commit 2ae371ce70be9490ddb14b6981366e06a41ddb5d)

IJ-MR-96284

GitOrigin-RevId: 832cadd71e1a0d47852e44854b2ead217342b7e4
2022-11-14 18:55:08 +00:00
Pavel Porvatov
28b43ff791 IDEA-305403 Remove usages and deprecate HideableDecorator component
- PyPluginCommonOptionsForm

GitOrigin-RevId: b8806490c5138a7acb07a5def3300a1cabb2a230
2022-11-11 22:14:10 +00:00