Commit Graph

54 Commits

Author SHA1 Message Date
Ilya.Kazakevich
a35535b51a [python] PY-79486 (WIP): Use real EPs to create SDKs.
The process is described in `ModulesSdkConfigurator` doc.

GitOrigin-RevId: 1a21824e488a2d799b229d7c8355b60b0b177809
2025-11-24 16:35:26 +00:00
Ilya.Kazakevich
a1b92b2591 [python] PY-79486: (WIP) split pyproject.toml tools into backend/common.
Each tool (uv, poetry) now has `common` and `backend` part. `common` has icons because we need them both on the front and on the back.

We might need to create `front` module also if we wouldn't be able to use icons in compose.

GitOrigin-RevId: 560b5aa67e4e747a1653ad6e4f780301a3fae289
2025-11-24 16:35:26 +00:00
Alexey Katsman
1ac353ef9a [python] PY-83881 Provide python info during environment detection
GitOrigin-RevId: 4382680255fc78925c4b23ce825a2894114040c5
2025-11-03 12:05:45 +00:00
Daniil Kalinin
ee44190f3c PY-82344 Implement Welcome to unified PyCharm! promo welcome screen banner, refactoring
(cherry picked from commit b80df8b40facfbf114d0d8965756768cb799f198)

IJ-CR-179688

GitOrigin-RevId: 06d66ae94cfc38b07ba27e8ea71e7f52d072e19d
2025-10-23 14:09:28 +00:00
Alexey Katsman
cc191a617f [python] PY-83881 Detect existing environments when creating SDK
Before the changes, there wasn't any mechanism to detect that
environment was already created (for example, .venv exists in the
project). In these situations, during SDK creation we could've created
another environment which was not expected by users.

With these changes, it's now possible to detect in the configurator that
environment already exists, and use it when creating SDK.

Merge-request: IJ-MR-177317
Merged-by: Alexey Katsman <alexey.katsman@jetbrains.com>

GitOrigin-RevId: dd0cf0c02b18e90022e9ec828b7f9ad2282cd5b3
2025-10-21 21:47:11 +00:00
Morgan Bartholomew
1514a1fc00 [python] python-lsp-core
(cherry picked from commit e07d457d959a1b589861180c1be06b995218aa2c)

GitOrigin-RevId: 032d78e90ff3263c494ceeafb2411aaceb29c643
2025-10-21 06:20:05 +00:00
Ilya.Kazakevich
011c111b86 [python] PY-84910 PY-79486: (WIP) Replace old SDK configuration process with new one if enabled.
When registry key is enabled, we replace all other SDK configurations (done by inspection and open processors) with a new one.

We also have an action to start this process

GitOrigin-RevId: 425ae78b769c5b5d40974cee9f19227410f63d45
2025-10-17 18:12:21 +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
Ilia Zakoulov
5958476638 PY-82074: Display welcome screen only to the new users
GitOrigin-RevId: cab9d18b2e920c8c78769ab0844f6fc0bcf5d8ef
2025-10-03 23:44:44 +00:00
Vyacheslav Moklev
71250e3095 [RDCT] PY-84272: Split PyCharm's non-modal welcome screen right tab to frontend and backend
This commit:
Moves PyWelcomeBundle to the common module, so it is accessible both on frontend and backend
Moves icons to the frontend module, where they are used now
Moves PyCharmWelcomeRightTabContentProvider to the frontend module, where it should create UI
Extracts backend-related parts of right tab provider to separate implementations of WelcomeScreenFeatureBackend

GitOrigin-RevId: b9de1cd8afc2691d256f44824c36803d269388c3
2025-10-02 11:44:10 +00:00
Vyacheslav Moklev
fd9c18ead5 [RDCT] PY-84272: Prepare dependencies and rpc/compose plugins in new modules
GitOrigin-RevId: 67a9f2056156dde9e16c094eb43d389562f4d8ac
2025-10-02 11:44:10 +00:00
Vyacheslav Moklev
4bb9385403 [RDCT] PY-84272: Create a frontend python module that is loaded in monolith and Remote Development client
It should be named `intellij.python.frontend`, but this name is occupied by another module, that should be named `intellij.python.frontend.split`

GitOrigin-RevId: 9c691512950b1f02cebd4a2d201560650460b16c
2025-10-02 11:44:10 +00:00
Nikita Zaytsev
fca40ea658 [rdct] IJPL-169754: Move default tool window layout customization to common modules
Some products customize the default tool window layout by adding additional tool windows to the stripes. This commit moves the customization to common modules, so it's available in the JetBrains Client for the products supported in remote development, and the default layout is correct when restoring it.

GitOrigin-RevId: 8e2d378ff77b54ede76193b3867a57b42ef9bca5
2025-09-30 11:22:34 +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
Ilia Zakoulov
d26951fa4b PY-82074: Add create py script and notebook actions under New... in welcome screen
Changes around `createMiscProject` fixed cancellation problem when project is created from the left panel of welcome screen.
Now the `runWithModelProgressBlocking` is executed after the new project is opened.

GitOrigin-RevId: 5337f13be6ec60061fb225fb58fbb9ca29547edb
2025-09-15 16:35:39 +00:00
Ilia Zakoulov
20e64ad596 PY-82074: Introduce PyCharm non-modal welcome screen
GitOrigin-RevId: ce867e42111789fda03bae15665a6860a140e9b1
2025-09-15 16:35:39 +00:00
Nikita.Ashihmin
ef1733bbdf PY-84163 Uv interpreter is configured automatically for a project with pyproject.toml
GitOrigin-RevId: ed5a60b3c1a76b8ba5bc4890d22c2c6401567b2e
2025-09-13 14:17:59 +00:00
Ilia Malakhov
cd21eaa199 fix mentions of deleted PlatformProjectConfigurator
GitOrigin-RevId: 97a58d0d5dea43833ce1ff6ba08b590f5ccd18c8
2025-09-02 16:52:49 +00:00
Timur Malanin
6d3a944b31 PY-82908 Get rid of an unnecessary step in setting up of project sdk, to prevent detecting of a project with .venv as pure venv project. Add PyVenvSdkConfiguration to improve virtual environment handling.
GitOrigin-RevId: 20d158c1abbfc2910fd4ed27a1713cceb20235a9
2025-08-28 15:49:47 +00:00
Timur Malanin
ceb58f48e6 PY-82908 Get rid of an unnecessary step in setting up of project sdk, to prevent detecting of a project with .venv as pure venv project. Added tests
GitOrigin-RevId: 29ef7f3c8f188ac91af0912a98c0670772e6c96c
2025-08-26 01:36:35 +00:00
Nikita.Ashihmin
685e2fd0ce PY-82457 PythonSdk: Cannot configure from inspection from requirements.txt
Signed-off-by: Nikita.Ashihmin <nikita.ashihmin@jetbrains.com>

GitOrigin-RevId: 405dc648ccb26a6aa8e9b48e052bb27d9ff24a5e
2025-07-07 14:28:13 +00:00
Nikita.Ashihmin
fe9f35dfa4 PY-82278 Packages: Remove PythonSdkCoroutineService.kt refactor fix flacky package manager tests
Signed-off-by: Nikita.Ashihmin <nikita.ashihmin@jetbrains.com>

GitOrigin-RevId: d0b9db6aa4213d3a3a88bb4d862af4d372370d0f
2025-06-28 21:37:25 +00:00
Natalia.Murycheva
903405fd87 [PyCharm] PY-81850 Python Settings follow-up improvements #PY-81850 Ready for Merge
* Added a description for the "Python" group of Settings
* Added a description for the "Type Renderers" settings page
* Added a description for the "External Documentation" settings page
* Added a helpId for the "Type Renderers" settings page

GitOrigin-RevId: 29e93e8dd7fc7f54adea825b60cf8d95540fc6b0
2025-06-20 13:07:53 +00:00
Natalia.Murycheva
598478e28e [PyCharm] PY-81850 Follow up on the "Python" Settings pages improvements: settings pages re-ordering
GitOrigin-RevId: 8dcd8f5b62b61f4409902abaff323bf6236fcfb3
2025-06-11 23:06:31 +00:00
Vitaly Legchilkin
06b7a98504 [python] unify Local SDK creation UI in PyCharm and IDEA (PY-79881)
* use the same UI in IDEA for local SDKS as currently PyCharm has, removing redundant code


Merge-request: IJ-MR-164681
Merged-by: Vitaly Legchilkin <Vitaly.Legchilkin@jetbrains.com>

GitOrigin-RevId: fe26897837f41dd2f3b23a328d2a9098ad388e37
2025-06-06 22:08:02 +00:00
Natalia.Murycheva
db8eaa6a5f [PyCharm] PY-81071 Fixed the settings page name for CLion
GitOrigin-RevId: 494aabd7c3ecedd6b8a5dece598ce3c0977228ba
2025-05-16 17:14:08 +00:00
Natalia.Murycheva
cc495dd34e [PyCharm] PY-81071 Introduce a Dedicated "Python" Settings Group in PyCharm #PY-81071 Fixed
- Added a top-level "Python" settings group in PyCharm
- Moved all Python-related settings pages under this group for better discoverability
- Retained original registration of settings pages so they remain in their default locations in non-PyCharm IDEs (e.g., IDEA with Python plugin)
- For application-level configurables: relocation handled in PyCharmCorePluginConfigurator.execute
- For project-level configurables: relocation handled in PyCharmProjectConfigurableStartupActivity.execute
- Introduced two configuration steps to support the relocation mechanism

GitOrigin-RevId: 4db5885cb2f0af0443fb476c376873d847cef2da
2025-05-15 15:51:29 +00:00
Natalia.Murycheva
3981332614 [PyCharm Cosmetics] PY-80790 Make Memory Settings Easier to Discover by Adding Them to the Main Settings Page
* Added the "Memory Usage" settings page. Part 1: only the UI part

GitOrigin-RevId: 41e72845adf25b5248e12ce9fc86eeaec6906647
2025-05-10 00:04:08 +00:00
Ilya.Kazakevich
b4a993ab03 PY-79013: Add file_type to pycharm.misc.project statistics group.
This field might be either `script` or `notebook`.

GitOrigin-RevId: fd766a7f709f40d7217860ac9b91483cb7dcc764
2025-04-18 00:13:21 +00:00
Vladimir.Koshelev
ec733a2270 [pycharm] remove a Professional edition from the PyCharm product
GitOrigin-RevId: 8095dd3db50ec157adb3ca78373ed9c817532fc1
2025-03-17 12:25:28 +00:00
Vitaly Legchilkin
498de69f2a [python] Support Hatch SDK (PY-60410)
* add new / select existing for local sdks
* create a new project with hatch sdk
* open hatch-managed project

GitOrigin-RevId: 86e970a39bc44cec34be7c82717806fc4d0009c4
2025-03-12 20:49:14 +00:00
Vladimir.Koshelev
c6ef0071b7 [pycharm] remove PyProjectScopeBuilder duplicate
GitOrigin-RevId: c5b9d9e05773546fd16b913a3f663399e1ceb084
2025-02-18 11:53:19 +00:00
Vladimir.Koshelev
268bc9307f [python] move PyProjectScopeBuilder to pycharm community customization
GitOrigin-RevId: fb38f3038a19bd66302920ce435d03da891a5fb5
2025-02-17 16:28:02 +00:00
Ilya.Kazakevich
d379d00522 ABT-26: Enable Misc project for everyone
GitOrigin-RevId: a1f2dd0e20564ea88a93d9124124f12b751b33cb
2025-02-05 03:31:15 +00:00
Ilya.Kazakevich
6b6658fbc9 Python: make system python service available from community.
We make it a part of PythonCore module to use it from community

GitOrigin-RevId: ea6b00b6ac1a24478f9ff74cb34beffab0942089
2025-02-03 22:07:16 +00:00
Ilya.Kazakevich
88edf4873b PyCharm: Migrate misc project to SystemPythonService
GitOrigin-RevId: 9ba091d5c7df1ef31f88f1069b2ad52d48913d5d
2025-01-20 21:36:53 +00:00
Aleksandr Sorotskii
2547bc31ff support uv interpreter project configuration upon opening for the first time; PY-75983
GitOrigin-RevId: 44f133462ae29d6865a3ed5918a556d7d0a2cac7
2024-11-26 19:36:24 +00:00
Ilya.Kazakevich
6de95881e2 PY-75549: Enable usage collections for Misc projects
We collect statistics about misc project creation and project renaming

GitOrigin-RevId: 3390ee2271730b0c3655fb0a728de5750521df8e
2024-11-15 17:16:05 +00:00
Ilya.Kazakevich
b9d5dc4ed9 PY-75549, ABT-26: Enable A/B testing for PyCharm Misc project.
Misc project is a simple project (see PY-75549) and we add buttons to create on the welcome screen when this option is enabled.

This commit removes `pycharm.miscProject` registry key which was used before it.

Since now, use
```
-Dplatform.experiment.ab.manual.option=pycharm.miscProject
```
JVM option

GitOrigin-RevId: 3ef38fed25ab33d2bedccf9c6a75b15f7033b346
2024-11-15 13:33:06 +00:00
Ilya.Kazakevich
f072fed950 PY-75549: Create rename to listener (will add logger later)
We are going to log each rename, so we need listener

GitOrigin-RevId: ecb71e62aa2d945bffbb1a04f75688167c2cd971
2024-11-14 22:48:06 +00:00
Ilya.Kazakevich
39cff28d48 PY-75549: Rename Scratch -> Misc
see
https://youtrack.jetbrains.com/issue/PY-75549/Simplify-creation-of-the-default-first-project#focus=Comments-27-10977840.0-0

GitOrigin-RevId: e46e2bbb1a341940f0acf9a42e0ac9d1c74caff3
2024-10-31 01:08:14 +00:00
Ilya.Kazakevich
be826ca3b4 PY-75549: Simple (aka scratch) project first implementation.
Enable `pycharm.scratchProject`, and go to welcome screen.

GitOrigin-RevId: 9190344e3e8c1e7eb40834ad30c3e8f75dd599fe
2024-10-24 19:44:26 +00:00
Ilya.Kazakevich
3689a45984 Python NPW and Add SDK refactoring:
In SDK:
* `v1`: legacy API that should be dropped (but still used by Python Plugin and DS)
* `v2`: slightly better API used both for new project and interpreter settings. Supports DSL UI validation. Must be adopted by DS and Python Plugin somehow.

In NPW:
* `newProject`, `newProject/steps` (aka `v1`) deprecated, used only by DS and Python Plugin.
* `newProjectWizard` (aka PyV3): the right new API to use. Sooner or later will be adopted by DS and Python Plugin

GitOrigin-RevId: c3d49ce95079dc5ba589955381ddfe42326295fd
2024-09-23 21:14:22 +00:00
Ilya Kazakevich
7bd141a993 PyCharm: Rewrite NPW API: See com.jetbrains.python.newProjectWizard
This package (aka PyV3) fixes several issues, including
1. Lots of `DirectoryProjectGenerator` misuses: We now create UI and settings with `ProjectGeneratorPeer`: no more manuals casts in callback
2. Decouples project generation from UI: Settings aren't aware of UI but generate a project instead. Settings are mapped to the UI using Kotlin DSL UI
3. Kotlin DSL UI panel enables validation
4. `PySdkCreator` (an interface implemented by all "v2" SDK panels) now accepts `Module`, so we can provide it Poetry

The whole machinery of `PythonGenerateProjectCallback` (a pack of manual casts only mother could love) is completely deprecated and will be removed soon.

Lots of small changes towards `suspend` functions, Kotlin DSL UI and `Flow` decrease the technical debt.


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

GitOrigin-RevId: 21963e843b0ae67c71a6fc5ea1229cb0f57915a9
2024-09-10 19:50:12 +00:00
Gregory.Shrago
8baa88cb45 register group via group tag: welcome screen
GitOrigin-RevId: 2b2511880bddbfc08543e21c4818b4eca0dfcf5e
2024-09-03 01:56:34 +00:00
Vladimir Koshelev
b7700aaf66 [pycharm] PY-64403 add vision file to PyCharm
GitOrigin-RevId: 7b3fd4492e0cebb313626c7a1b52e369e0577279
2024-07-08 18:25:33 +00:00
Vladimir Koshelev
9bdf1de9e2 [python] move code vision elements to the right side by default
GitOrigin-RevId: 53c4dab7ad7e3569000675961ec8d45a6733bc1c
2024-07-01 09:41:26 +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
Alexander Lobas
3f90c0e90f IJPL-49419 Move old UI to plugin
GitOrigin-RevId: 0ebbb04fd33b7663c08303a1e3f56057fa8884d9
2024-05-12 09:25:36 +00:00