Commit Graph

29681 Commits

Author SHA1 Message Date
Ilya.Kazakevich
84f000f4a9 PyCharm: remove convert-to-conda test because this code was already removed.
All "vanilla" flavours were converted to conda long ago.

GitOrigin-RevId: 1c87c04a3def2d1c3c6d330b6d4be2c429c78854
2024-08-01 20:14:02 +00:00
Ilya.Kazakevich
8b8d3ec168 PyCharm conda test: compare paths, not strings as slashes might be changed in a workspace model
GitOrigin-RevId: 72e2cc58b0f7a416889967543caef96047ad676f
2024-08-01 20:14:02 +00:00
Ilya.Kazakevich
01228fba20 PyCharm: remove supportsPython3 check as any modern framework support it (all impls return true)
GitOrigin-RevId: 06f939ac73ae864a04ee6bdfd09be1e54b5bda5d
2024-08-01 19:52:34 +00:00
Andrey Lisin
fffd1481a0 Minor: simplify array initialization
GitOrigin-RevId: d9bfc50b82e4e2778589c0e0044c2628e0099d8a
2024-08-01 17:36:35 +00:00
lada.gagina
45f3c3128b [python] fix IOOBE in packaging toolwindow (PY-74356)
GitOrigin-RevId: 22b13acb32b3acde37fc8c7d50a19958862b242e
2024-08-01 16:15:38 +00:00
Ilya.Kazakevich
6c7719d78c PY-74236: Move SDK saving logic to the service, create presenter for the "create SDK" dialog, accept callback on SDK creation.
`PyActiveSdkConfigurable` has `model` that must be in sync with the JDK table.

After SDK addition, `PyActiveSdkConfigurable.updateSdkListAndSelect` must be called to select the active SDK.

The user then clicks "apply," see `PyActiveSdkConfigurable.apply` to associate with a model.

`PythonAddLocalInterpreterDialog` delegates SDK creation to `PythonAddEnvironment` (so-called `currentManager`).

It then calls `PythonAddLocalInterpreterDialogPresenter` that acts as presenter to persistent SDK using `PySdkService` and reports SDK using flow which is connected to `PyActiveSdkConfigurable.updateSdkListAndSelect`.

GitOrigin-RevId: 4114fe3385f8b51f82d6465617c27fbe65e8ab04
2024-08-01 15:15:54 +00:00
Ilya.Kazakevich
4e297d445d PY-74236: Get rid of nullable Sdk?.
IO errors must be reported as `Result`, other should simply be thrown.

GitOrigin-RevId: d9a8ce7f38ada3e3f59412bc8425e9fc5556c880
2024-08-01 15:15:54 +00:00
Vladimir Koshelev
6cf2ecefcc [pycharm] update vision pages and add a separate vision page to CE
GitOrigin-RevId: 26018648c26cbbbe618aeacdea73567835718b27
2024-08-01 12:25:31 +00:00
Vladimir Koshelev
313a8e3ba1 [pycharm] add a test for PY-73958
GitOrigin-RevId: 99ec4e104dd6e392e46dd47e7626089d56cfdddd
2024-08-01 12:25:31 +00:00
Andrey Lisin
664c8ef4e8 PY-73432 Introduce registry key to enable single port communication between PyCharm and debugger
GitOrigin-RevId: a3a5199b1f343d1c3423c433fa636a6d1a657b4f
2024-07-31 19:41:40 +00:00
Pavel Karateev
99946107fa PCQA-488 Restore reload functionality support for Python 2
(cherry picked from commit 8560456ce0352a449b93ad5a040520110222a6f7)

IJ-MR-140722

GitOrigin-RevId: 7e013c3f8aade99758ebd9c5471573fe781461b1
2024-07-31 19:24:50 +00:00
Andrey Lisin
638dce38d7 PY-71930 Restore reStructuredText plugin
This commit partially reverts changes from 4da3e7da. While the consolidation of reStructuredText support into a single module is retained, it needs to be available as a plugin since some IDEs do not include it by default but can still benefit from its capabilities.


Merge-request: IJ-MR-139650
Merged-by: Andrey Lisin <andrey.lisin@jetbrains.com>

GitOrigin-RevId: bc5cde2970a0760e32ceaee61ceef8427e8f8fe5
2024-07-31 12:47:03 +00:00
Ilya.Kazakevich
e75a7f2f83 Python tests: migrate tox 37->39 (37 is outdated)
GitOrigin-RevId: 8592221541a2a7512d559184bd352dabef5b657c
2024-07-31 10:18:57 +00:00
Ilya.Kazakevich
ccd804fe9c Python tests: migrate tox 37->39 (37 is outdated)
GitOrigin-RevId: 1d8588f3785940c1cbe4036c8a475853f19a79c5
2024-07-31 08:20:14 +00:00
Vladimir Koshelev
660bdd70bb [pycharm] PY-73958 PyDefUseUtil: restrict resolve for large control flow graph to avoid recursion
GitOrigin-RevId: 777dd787f0b992be0775e8844026345b4722cdf0
2024-07-30 18:23:12 +00:00
Yuriy Artamonov
4dac328bf4 [i18n] IJPL-158521 Fix more ellipsis problems in plugins
GitOrigin-RevId: 981393c6f975e303847ca598b650fec8fe65d9bf
2024-07-30 16:35:51 +00:00
Pavel Karateev
82d0052ce9 PCQA-495 Update 3.13.0b3 to b4 to run helpers tests over
(cherry picked from commit 4a16edbd842574c128f9b3928cab4b933e7c797d)

IJ-MR-141298

GitOrigin-RevId: 9dff81726ca505ba70009caae08541dcfc0ebfb9
2024-07-30 13:59:40 +00:00
Ilya.Kazakevich
947938294a Pycharm tests: add poetry
GitOrigin-RevId: 513b7f0bc1d65fb7cca0c6fe81f96175fac5d05f
2024-07-30 13:43:01 +00:00
Maria Filipanova
128eeab90a [rdct] remove guest naming from ToolWindowContentExtractor, pass client session to it's isAvailable
GitOrigin-RevId: df0541ba88a050087fcb79c9b0ad00c5d38096e2
2024-07-30 13:40:20 +00:00
lada.gagina
1605af64c4 [python] packaging: add an update button to the context menu (PY-72994)
GitOrigin-RevId: fbd6258369c199d3325166d9431467531c2b88ab
2024-07-30 09:29:01 +00:00
Aleksandr Sorotskii
56b48787e3 cleanup, remove dead code
(cherry picked from commit f7912b44dc75c228a9c763cf0b517d3aee0ea483)

IJ-MR-141257

GitOrigin-RevId: 095827de20dd1c2dd83dd8eedb6b40a9bb3c8a64
2024-07-30 00:05:20 +00:00
Petr
7f22ee443e [python] Fix nullability annotations (PyAstNumericLiteralExpression)
GitOrigin-RevId: d5db0add83ac134aab91198b1a931c026829d216
2024-07-28 15:43:22 +00:00
Petr
93b9066edf PY-34617 Support version check
GitOrigin-RevId: 3318ff79cdcc5ba0ce5e4feb65abad5ad0f4acfa
2024-07-28 00:24:15 +00:00
Petr
16a7fb4b3e PY-34617 Move getTopLevelAttributes(), findTopLevelAttribute() from PyAstFile
GitOrigin-RevId: 226a7e968851ab0c8730bb79ca90d0ed5dcec364
2024-07-28 00:24:15 +00:00
Petr
cfa28c0d2a PY-34617 Move getClassAttributes(), getOwnSlots() from PyAstClass
GitOrigin-RevId: 39ee4f79543a35fc696f9c754f5c5cf89b711f63
2024-07-28 00:24:15 +00:00
Petr
5147d37e25 PY-34617 Code deduplication (PythonCommonCompletionTest)
GitOrigin-RevId: 20d48eb4e6d5620c182d388398dd80234b2eefe7
2024-07-28 00:24:15 +00:00
Petr
302dbfa84b PY-34617 Remove obsolete class (PyStatementPartImpl)
GitOrigin-RevId: 48d03f62afa160410ac59e3938dfd876a41f54b7
2024-07-28 00:24:15 +00:00
Petr
4317e0a1ed PY-34617 Restore PyIfPartIf, PyIfPartElif interfaces
GitOrigin-RevId: 3283be157d6f030840103fba5b8c7cfcee508e2b
2024-07-28 00:24:15 +00:00
Egor Eliseev
994775243f PY-71926 Refine test detection criteria
Add a new setting Python Integrated Tools: Detect tests in Jupyter Notebooks.
Exclude Jupyter Notebook files from the scope for test detection by default.
Add tests


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

GitOrigin-RevId: 0bee082bde4fa608cb1907b8fbd64b97bb9755a0
2024-07-26 17:24:30 +00:00
Aleksandr Sorotskii
46aa6ba5a3 Cleanup deadcode; Autoformat things. Remove unnecessary ext methods
(cherry picked from commit 51f6ec2346d9c7385ee7ca115c4c6a5369d7b46b)

IJ-MR-141079

GitOrigin-RevId: 28ca8e87f39a64a9bffe069858489884ea3a6bb1
2024-07-26 16:10:08 +00:00
Natalia.Murycheva
6aaaf0a7ce [PyCharm Tables] PY-73176 fixed review remarks #PY-73176 Fixed
GitOrigin-RevId: 328aead2fdf8e90646479f518fec997a991ca906
2024-07-26 12:18:52 +00:00
Natalia.Murycheva
b1e672ff5e [PyCharm Tables] PY-73176 added slicing for new tables
* also removed the regression in debugger (changes in pydevd_xml.py should be removed after fixing PY-73947)

GitOrigin-RevId: 57c91be1c7e43eeb603eaf963a1e11b42e71c441
2024-07-26 12:18:52 +00:00
Egor Eliseev
2a8c477af2 [python] Poetry refactoring
Splitting a huge file `poetry.kt` into several


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

GitOrigin-RevId: ea51232c4795538400f3cbbe159850e1c4252ac5
2024-07-26 11:54:03 +00:00
Ilya.Kazakevich
154a516ad3 PyCharm: Support conda in JUnit5 tests.
Mark test with `PyEnvTestWithConda` or use `testFixture`

GitOrigin-RevId: 3171d8a4de18ca29a1c624dcffa53921965eed25
2024-07-26 04:03:03 +00:00
Ilya.Kazakevich
1f92ee9f14 PyCharm: make project optional in conda as targets API doesn't require it more
GitOrigin-RevId: b007fcf1a3a84d25d786de40bb016778bf4d8af9
2024-07-26 04:03:03 +00:00
Vladimir Krivosheev
398ebce1d5 split content report
GitOrigin-RevId: ef449bdf4c5480a6ee3ce43b4af118c2c6e31219
2024-07-25 19:20:06 +00:00
Aleksei Kniazev
7e95d1c688 [python] initial step of python interpreter creation unification (PY-73396)
- refactored NPW to use target-specific model
- creating interpreter through widget reuses the same UI (can be turned off by python.unified.interpreter.configuration)
- interpreter discovery and virtualenv creation using Targets API
- no more PyDetectedSdk in dialog


(cherry picked from commit 581b2d40254d26f02eb3aa61bc2e842854b87a3e)

IJ-MR-140986

GitOrigin-RevId: be29188304882ef5f0fb88bb60c538714a2d8746
2024-07-25 18:01:45 +00:00
Egor Eliseev
ba209d5e44 [python] Change WARN to INFO notification when can't find a resource name in PythonHelpersLocator#findPathInHelpers
Merge-request: IJ-MR-140807
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>

GitOrigin-RevId: 9b570d824218117096d0ad97a01bbaa6ee71e53a
2024-07-25 16:07:35 +00:00
Alexander Lobas
932f2d438e Swap icon path parameters: move expUI path to the first place
GitOrigin-RevId: 74cf09fb454c89b676be259cdd7437a81ac4c067
2024-07-25 15:12:07 +00:00
Vladimir Koshelev
5482951755 [pycharm] adjust promotion for the community version
GitOrigin-RevId: 3ba3b76c52615dfb9a62c4f94e8da7226ce541e9
2024-07-25 11:09:29 +00:00
Vladimir Koshelev
749b8039d5 [whatsnew] update pycharm2024.2.json
GitOrigin-RevId: a6e60eaee38c62e0e3542b69a9b05d5af733e152
2024-07-25 11:09:29 +00:00
Vladimir Koshelev
eb71087383 [pycharm] add productivity action to what's new
GitOrigin-RevId: 718b34e3b9dee8146891358096fc857c1a37d77e
2024-07-25 11:09:29 +00:00
Petr
5470f70382 PY-73886 PyArgumentListInspection causes file parsing
GitOrigin-RevId: 8fa6b52a2ac5d28e7148c3e10445ee61fef6c89b
2024-07-25 01:35:16 +00:00
Ilya.Kazakevich
cc9b394af1 Pycharm: Venv might have UnixPythonSdkFlavor instead of VirtualEnvSdkFlavor on Linux.
`getFlavor(@Nullable String sdkPath)` was used, and it detected the first flavor that is reports `isValidSdkHome`.

Somehow `UnixPythonSdkFlavor` stayed before `VirtualEnvSdkFlavor`.

We now sort them to make platform independent go first (as platform-dependent are always there).

We also use a separate method `tryDetectFlavorByLocalPath` not to use a deprecated one.

GitOrigin-RevId: ee7010e2b4a51d8447bd57264b2ce85af4ea1199
2024-07-24 19:20:28 +00:00
Vladimir Koshelev
c69a1a2810 [pycharm] add smoke tests that shared v1/v2 modules are in sync
GitOrigin-RevId: fe6fc6a60a83240b8b2b0a3c7a0f88ff707f0227
2024-07-24 17:26:27 +00:00
Mikhail Golubev
632fd3187b PY-44858 Remove a constant condition, simplify and inline the areAllFilesInNamespacePackage check
GitOrigin-RevId: 9608d23aa56d13bec8b81786a52768d02a7a94ef
2024-07-24 16:18:40 +00:00
Mikhail Golubev
f392777e01 PY-44858 Create regular packages in refactorings initiated from top-level files in source/content roots
Otherwise, if someone wants to move a definition/extract a superclass from there to
a brand-new package, e.g. from main.py to pkg/mod.py, a namespace "pkg" package will
be created.

Restore the original behavior of PyExtractSuperclassTest.testMultifileNew: the origin
file was inside a regular project root without __init__.py alongside.

GitOrigin-RevId: 750414b18582740076c14bfcfd07fa38992b4428
2024-07-24 16:18:40 +00:00
Mikhail Golubev
1c026ac470 PY-44858 Make multifile scenarios comparing directory content in PyExtractSuperclassTests more uniform
Now they all just compare the resulting test project content with an explicit "after" directory
instead of checking individual files in the test code.

GitOrigin-RevId: cff00d0a6b8ea4547b719997716e95a3f7c62cc9
2024-07-24 16:18:40 +00:00
maxle
90bbc21f3f PY-44858 Move and other refactorings don't introduce __init__.py inside namespace packages
Namely, Move Module Members, Extract Superclass and Make Local Function Top-Level were
all affected by this.
Now we check if the refactoring origin is inside a namespace package to decide whether
__init__.py should be generated for target directories.

Co-authored-by: Kamalia <alishevakamalia@gmail.com>
Co-authored-by: Maksim.Levitskii <maksim.levitskii@jetbrains.com>

GitOrigin-RevId: b0b3420c5ec8d1f7d3000d8834211631690a0c42
2024-07-24 16:18:40 +00:00
Vladimir Koshelev
ec8c3a8aa3 [pycharm] remdev: migrate PyCharm Frontend launcher to v2 modules
GitOrigin-RevId: e2c62c23bd0a22c742a46177c1a1ad4c4b5b95d0
2024-07-24 13:13:53 +00:00