PyCharm 2025.1
Released: Apr 16, 2025
2025.1 での更新項目
機能
Release Highlights
- Junie – your personal coding agent
- Junie, the coding agent by JetBrains, is now available in PyCharm via JetBrains AI. Junie autonomously plans, writes, refines, and tests code to make your development experience smooth, efficient, and enjoyable. It handles tedious tasks like restructuring code, creating tests, and implementing refinements, so you can focus on bigger challenges and innovation.
- PyCharm goes AI
- JetBrains AI has received a major upgrade, bringing both AI Assistant and Junie under a single subscription. With this release, all JetBrains AI features are accessible for free in PyCharm Pro, with unlimited use for some, such as code completion and local model support, and limited credit-based access to others. JetBrains are also introducing a new subscription system that makes it easy to scale up as needed with the AI Pro and AI Ultimate tiers.
- Cadence – effortless cloud execution for ML workflows
- You can now run your machine learning code on powerful cloud hardware directly from PyCharm in minutes – no complex setup or cloud expertise required. The Cadence plugin simplifies ML workflows, allowing you to focus on your code while leveraging scalable computing resources.
- Data Wrangler
- JetBrains have implemented Data Wrangler, a powerful tool that helps Python data professionals streamline data manipulation and focus on higher-level analysis. View and analyze your data, explore column statistics and visualizations, and automatically generate Python code for transformations. Use the interactive UI to perform common dataframe transformations – such as filtering, cleaning data, handling outliers, and more – without having to write repetitive code manually. You can also track the history of changes, export data in a convenient format, and insert transformations as new cells in your notebook.
- SQL cells in notebooks
- PyCharm 2025.1 introduces SQL cells. This new cell type allows you to query databases, dataframes, and attached CSV files in Jupyter notebooks and automatically save query results to pandas DataFrames.
- Support for Hatch
- JetBrains are introducing support for Hatch, a modern and extensible Python project manager from the Python Packaging Authority (PyPA). Hatch can automatically migrate setuptools configurations, create isolated environments, and run and publish builds, making Python package management more efficient. PyCharm also allows you to create new projects managed by Hatch. The IDE will automatically recognize Hatch projects when they are imported from a local machine or a remote source.
Jupyter Notebooks
- Jupyter notebooks support improvements
- The ability to launch Jupyter servers with a uv interpreter, building on existing support for uv.
- Drag-and-drop functionality for rearranging Jupyter cells directly using the bar in the gutter.
- The Commit without outputs option, which automatically clears cell execution results before committing and is available from the menu that appears when you click the gear icon.
- Customizable colors for notebook backgrounds, code cells, selected lines, and cell borders.
- (Pro) A per-cell management toolbar that provides specific actions tailored to the selected cell type.
- New Crashed and Queued cell statuses in the Structure view for notebooks.
- A floating formatting toolbar that appears when text is selected within Markdown cells, as well as a cleaner look for empty Markdown cells.
- A Shut down Kernel button, which has been added to the main toolbar.
- Jupyter server configuration improvements
- JetBrains have enhanced the simplicity and transparency of the Jupyter server configuration settings. You can now add multiple managed or remote server configurations and easily switch between them.
- Additional improvements include:
- Support for connecting to remote servers via proxy.
- New support for AWS SageMaker remote connections.
- Improved file system for remote Jupyter servers.
- The ability to run notebooks on Kaggle's Jupyter servers.
- Jupyter debugger improvements
- Run to caret functionality.
- The ability to debug Jupyter cells line by line, thanks to the fact that PyCharm now automatically places a breakpoint on the first line of Jupyter cells if no breakpoints are already set.
- Fixes for numerous issues.
- (Pro) Debugging and Variables view support for remote Jupyter instances.
Data Science
- Ability to reformat SQL code embedded in Python
- The 2025.1 version allows you to reformat SQL code embedded in Python according to your specified code style. This ensures consistency and readability when working with SQL inside Python scripts.
- Quick option to open new Data View tabs
- You can now quickly create new tabs in the Data View tool window using the + button next to the existing tabs. Having an additional tab is useful because it offers a convenient place to evaluate NumPy arrays, pandas DataFrames, and other data types simply by entering a variable name or expression.
- Ability to view NumPy arrays and tensors as images
- When debugging applications that manipulate images, you can use the View as Image action to see the images in the debugger without having to add any code. This action works for NumPy arrays and the following libraries: PyTorch, TensorFlow, Matplotlib, Seaborn, OpenCV, Pillow, ImageIO, and scikit-image. To use it, simply right-click on a data variable in debug mode and select View as Image.
Database Tools
- Introspection by levels for MySQL and MariaDB
- Starting from version 2025.1, there will be different introspection levels for MySQL and MariaDB, and the amount of metadata that gets loaded will automatically be adjusted depending on the size of your database. In other words, it won't load all the metadata if your database is large. This will significantly reduce introspection time and allow you to start working with newly connected data sources right away.
- SQLAlchemy object-relational mapper support
- This release enhances PyCharm’s integration with SQLAlchemy, allowing it to recognize database object types automatically. This improvement enables accurate autocompletion for database columns and query results, significantly improving your experience with ORM-based projects.
Django (Pro)
- Support for type hints in request.user
- PyCharm now automatically applies the correct type hints for request.user based on AUTH_USER_MODEL if it is specified in the Django settings file, improving code completion and type checking for custom user models.
- Route declaration support for the Django Ninja framework
- JetBrains have introduced the option to declare endpoints in Django projects using the Django Ninja framework. This expands PyCharm’s endpoint detection to align with best practices and allows backend and full-stack developers to manage their endpoints directly through PyCharm’s Endpoints tool window.
AI Assistant
- Expanded selection of LLMs in chat
- Now, you can take full control of your AI experience by choosing from the latest and most advanced language models, including:
- Claude 3.7 Sonnet.
- OpenAI GPT-4.1 (сoming soon).
- Gemini 2.0 Flash.
- Offline mode: Work with local models
- AI Assistant gives you the flexibility to work with local models offline or leverage cloud-based AI processing. With the new offline mode, you can now work without an internet connection while still benefiting from AI-powered coding assistance. Use local models via Ollama or LM Studio for chat, code generation, commit messages, inline documentation, and more.
- Multi-file changes in edit mode
- AI Assistant now supports multi-file edits in the chat, suggesting changes across your project while leveraging retrieval-augmented generation (RAG) to locate the most relevant files. Reduce repetitive tasks and implement modifications across multiple files with a single interaction.
- AI-generated quick charts in Jupyter tables
- You can now generate chart previews for tables in Jupyter notebooks by clicking on AI Quick Charts. AI Assistant leverages dataframe metadata to suggest visualizations, embedding the resulting charts directly into the table’s widget to give you instant previews. Click on a generated chart to insert the corresponding code into your notebook.
- Improved code generation in Jupyter notebooks
- AI-generated code is now logically split into multiple cells, including Markdown cells, aligning more naturally with notebook workflows.
- Option to exclude files from AI Assistant’s context
- You can further enhance your control over what AI Assistant sees by configuring an .aiignore file. This allows you to prevent JetBrains AI from accessing specific files or folders, ensuring that sensitive information is never processed.
- Web search from chat
- With the new /web command, AI Assistant can now fetch documentation, troubleshooting tips, and the latest technical resources directly from the web – right inside your chat window.
- Apply snippets from chat
- Now, when the AI chat suggests a code snippet, you can use the Apply button to automatically find the optimal place to insert the newly generated code – no more manual copy-pasting.
- Smarter AI context awareness
- AI Assistant now understands your entire project better, using advanced RAG to surface the most relevant files, methods, and classes. In addition, the context now includes recently accessed files, making interactions even more relevant to your workflow. Because you can now also add or remove attachments sent as context, you maintain full control over the AI’s context.
User Experience
- New terminal architecture - Beta
- The 2025.1 release introduces a reworked terminal architecture, which is available in Beta. The terminal now runs on a stable, standards-compliant core and uses the IDE’s editor to render the UI.
- Native OS file dialogs on Windows
- PyCharm now defaults to using native Windows file dialogs instead of the IDE’s custom implementation. This gives you a more familiar experience when opening or saving files.
- New file creation in the Project tool window
- Creating a new file is now more convenient. You can access the popup listing available file templates directly from the Project window toolbar via the + icon, and the search field lets you quickly filter and find the file type you need.
- Automatic plugin updates
- You can set PyCharm to automatically update plugins in the background. It will download available updates and apply them on the next IDE restart without additional notifications.
- Option to export Kafka records directly to JSON, CSV, and TSV
- PyCharm now allows you to export Kafka records directly to JSON, CSV, and TSV files, making it easier to analyze and share streaming data. The IDE can save complete record details, including topic, timestamp, key, value, partition, and offset, in widely used formats. With this update, you can diagnose issues faster, verify data integrity, enable advanced analysis, and streamline collaboration, as exporting Kafka records helps ensure data is accessible and actionable. By reducing time to resolution and improving data transparency, this enhancement provides a more efficient and effective Kafka experience.
- Enhanced user experience for generated HTTP requests
- The HTTP Client now opens HTTP requests generated from code in the right-hand editor split, which means you no longer need to review them in a separate tab.
Version Control Systems
- Commit details in the diff view
- You can now see commit details directly in the diff view. The diff dialog displays the commit message, author, date and time, and full commit hash, giving you a clearer view of a file’s history and helping you understand modifications faster.
- Option to run tools for pre-commit checks
- You can now launch any tool to perform a pre-commit check alongside inspections and formatting. Custom checks can be configured as run configurations in the Run Configuration dialog. This helps you catch potential issues early and ensures your code meets project standards before it’s committed.
- Option to disable the running of Git commit hooks
- A new option allows you to instruct the IDE not to run Git commit hooks. Previously, Git hooks would execute automatically during commit operations, which might not have been desirable in all situations. With this update, you can now configure the IDE to skip these hooks, giving you more control over your commit process.
Other Features
- PyPackage: Installation of missing packages from the console
- If you try to run code without installing the required packages, the IDE will now suggest installing them directly from the Python console, the Run tool window, or the Debug tool window.
- FastAPI endpoints: mount support
- The Endpoints tool window now supports mounted apps in FastAPI, including Django and Flask apps. Mounted routes are detected and shown in the Endpoints tool window with the proper path prefixes, making it easier to manage multi-app projects.