JetBrains AI Assistant is now generally available with a number of new and improved features to increase your productivity in JetBrains IDEs.
With AI Assistant, you get enhanced code generation directly within the editor, context-aware AI Chat that answers project-related queries without copying code, and project-aware AI Actions that provide more comprehensive results. To improve code change clarity, a new diff view has been integrated into LLM code suggestions.
Use AI Assistant in PyCharm as a supplemental feature with a JetBrains AI Service subscription.
As you type, PyCharm 2023.3 provides multi-token code completion suggestions while also checking for their correctness. Leveraging a deep learning model, Full Line code completion processes suggestions on your machine, ensuring your code remains private and never leaves your system. This also means you can take advantage of this feature even while offline.
PyCharm 2023.3 transforms the experience of editing Django templates with a new live preview feature. Your code springs to life in the preview, updated in real time with on-demand reloading.
Use the address bar to modify and test routes directly. For templates with several routes, simply select the desired pattern in the address bar. With the integrated Developer tools console, troubleshooting becomes part of the flow. Get your templates polished and ready with minimal effort.
Welcome to the Django Structure tool window, your strategic command center for Django projects.
It enables quick access, smart navigation, and instant creation for Django components – apps, models, views, and more.
But that’s not all you can do with this new tool window. You can also refactor models, views, and model admin classes and find usages for them – in one click. You can register models in the admin interface just by choosing an option in the context menu.
Django Structure provides a quick way to start creating new apps and making
migrations in the built-in manage.py console.
Concentrate on building and enhancing your Django project without the hassle of browsing through the project files manually.
Add interactivity to your work with dataframes! Sorting, pagination, and infinite scroll are available in the new UI for dataframes.
With the new UI for data frames, you can simply hover your mouse over a column, and the column statistics popup will appear automatically.
You can export the data in a variety of formats to work on it further. CSV, TSV, SQL insert statements, Markdown, HTML, and other options are at your disposal.
Get an overview of the data in your dataframe or series in no time! In PyCharm 2023.3, you can just click on your dataframe and select Show Chart, and your IDE will do all the hard work. Choose the most suitable chart type, and export it as a PNG file when you are happy with the result.
Invest your time into data exploration instead of writing additional code.
PyCharm’s debugger now uses low-impact monitoring, which was added to Python 3.12. This improves overall debugger performance. You can see significant improvements in functionality, like the tracing of raised exceptions and dropping into the debugger on a failed test. These steps are now executed significantly faster than in the old sys.settrace()-based approach.
Python 3.12 allows you to use quotes, line breaks, escape sequences, and comments inside f-strings.
PyCharm 2023.3 adjusts its inspections accordingly. Additionally, existing intention actions for string literals, such as converting between various quote types, now work in accordance with the new syntax.
Use the new f-strings functionality to its fullest and get all the benefits of PyCharm’s code insight.
Python 3.12 introduces a new convenient syntax for generic classes, functions, and type aliases.
This syntax helps you to write less code when working with types in Python.
PyCharm recognizes the new syntax and understands references to type parameters in classes, functions, and new-style type alias declarations, taking them into account in type inference and type checking.
You can use the new syntax to work with generic classes and type aliases and let your IDE worry about details.
PEP 646 introduced a new kind of type variable –
for defining custom variadic generic types, i.e. generic types that can have
an arbitrary number of type parameters, similar to builtin
Callable. In the future, as this feature gets adopted by the community,
it will allow more precise type hinting for multi-dimensional containers,
such as Numpy's ndarrays and Tensors.
PyCharm's type checker supports all its standard checks for variadic generics.
Additionally, you will get a warning if you use the
with older versions of Python. PyCharm will suggest that you use
PEP 647 introduced a way to treat custom functions as “type guards”, which,
when used in a conditional statement, leads to the narrowing of their argument types.
Think of the built-in functions
which PyCharm already recognizes. Now, the user-defined function returning
typing.TypeGuard has the same effect on type inference in PyCharm.
PyCharm 2023.3 is now aware of the
LiteralString type in your code.
If you are using it, PyCharm will make sure that
LiteralString types are not mixed.
You can use the new syntax
to reference authentication data in your requests and navigate
to the JSON file containing the authentication details.
No more manual token retrieval. Enjoy the straightforward request execution process.
See all of the modified files from a changeset in a single, scrollable frame. PyCharm 2023.3 has a new diff viewer to review all changes at once. It is compatible with GitLab, GitHub, and JetBrains Space reviews.
Are you leveraging automated testing for your web applications? PyCharm 2023.3 is here to elevate your testing strategy. Built on the IDE’s extensive pytest support, it now includes support for Cypress and Playwright, two leading tools in modern web app testing.
PyCharm 2023.3 automatically detects your Cypress and Playwright tests and lets you run and debug them with a single click. The test tree view helps you understand and navigate your test results.
PyCharm 2023.3 solves some of the inconsistencies encountered when adding
import type statements. We’ve added the option to
configure the usage of the TypeScript import type statement or type specifier
when importing a type. We’ve also improved the behavior for the
field of package.json for TypeScript files.