{"id":501497,"date":"2024-08-12T15:06:59","date_gmt":"2024-08-12T14:06:59","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=pycharm&#038;p=501497"},"modified":"2025-09-16T16:28:34","modified_gmt":"2025-09-16T15:28:34","slug":"pycharm-2024-2","status":"publish","type":"pycharm","link":"https:\/\/blog.jetbrains.com\/en\/pycharm\/2024\/08\/pycharm-2024-2","title":{"rendered":"PyCharm 2024.2 Is Here: Improvements for Jupyter Notebooks, Databricks Integration, New AI Assistant Features, and More!"},"content":{"rendered":"\n<p>Offering a wide range of new and improved functionality, including Hugging Face integration, new AI Assistant features, a new default UI, and an overall better user experience, PyCharm 2024.2 is a must for anyone looking to increase their productivity.&nbsp;<\/p>\n\n\n\n<p>Learn about all the updates on our <a href=\"https:\/\/www.jetbrains.com\/pycharm\/whatsnew\/\" target=\"_blank\" rel=\"noreferrer noopener\">What\u2019s New page<\/a>, download the latest version from our <a href=\"https:\/\/www.jetbrains.com\/pycharm\/download\/?section=mac\" target=\"_blank\" rel=\"noreferrer noopener\">website<\/a>, or update your current version through our free <a href=\"https:\/\/www.jetbrains.com\/toolbox-app\/?_gl=1*1cogft*_ga*MjU1NTkwODM1LjE2ODE3MzQyNDE.*_ga_9J976DJZ68*MTcxMDUyMjYyNy4zMDcuMS4xNzEwNTIyNzI1LjYwLjAuMA..&amp;_ga=2.230112092.1950814981.1710335854-255590835.1681734241\" target=\"_blank\" rel=\"noopener\">Toolbox App<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/Featured_Blog_1280x720-2x-2.png\" alt=\"PyCharm 2024.2 \n\" class=\"wp-image-501724\"\/><\/figure>\n\n\n    <div class=\"buttons\">\n        <div class=\"buttons__row\">\n                                                <a href=\"https:\/\/www.jetbrains.com\/pycharm\/download\/?section=mac\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Download PyCharm 2024.2<\/a>\n                                                    <\/div>\n    <\/div>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">PyCharm 2024.2 key features<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Databricks integration <mark style=\"background-color:#6b57ff\" class=\"has-inline-color has-white-color\">PRO<\/mark><\/h3>\n\n\n\n<p>PyCharm now provides direct integration with Databricks via a plugin. You can connect to a Databricks cluster, execute scripts and notebooks as workflows, execute files directly in a Spark shell on a cluster, and monitor the progress \u2013 all from the comfort of your IDE.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1620\" height=\"1323\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/databricks_run_as_workflow_full.png\" alt=\"PyCharm Databricks \" class=\"wp-image-501713\"\/><\/figure>\n\n\n\n<p>This integration allows you to harness the power of your IDE when working with Databricks, making the process faster and easier.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hugging Face integration <mark style=\"background-color:#6b57ff\" class=\"has-inline-color has-white-color\">PRO<\/mark><\/h3>\n\n\n\n<p>PyCharm 2024.2 can now suggest the most relevant Hugging Face models based on your use case. When you select a model, the IDE will suggest inserting a code snippet that allows you to use it directly in the open file, and PyCharm will download and install any missing dependencies automatically.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1620\" height=\"1164\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/01_Hugging-Face_model-choice.png\" alt=\"PyCharm Hugging Face\" class=\"wp-image-501691\"\/><\/figure>\n\n\n\n<p>You can also identify unused models installed on your machine and delete them to free up disk space directly from the IDE.&nbsp;<\/p>\n\n\n\n<p>Additionally, you can inspect your Hugging Face Datasets library data as an interactive dataframe, utilizing features like the chart view, pagination, and the ability to sort and export tables.<\/p>\n\n\n    <div class=\"buttons\">\n        <div class=\"buttons__row\">\n                                                <a href=\"https:\/\/www.jetbrains.com\/pycharm\/whatsnew\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Read more <\/a>\n                                                    <\/div>\n    <\/div>\n\n\n\n\n\n\n\n<h3 class=\"wp-block-heading\">Jupyter notebooks <mark style=\"background-color:#6b57ff\" class=\"has-inline-color has-white-color\">PRO<\/mark><\/h3>\n\n\n\n<p>Instantly preview the value of a chosen variable simply by hovering over the variable\u2019s line. You no longer need to use the debugger or print statements!<\/p>\n\n\n\n<p>Furthermore, you can now expand and collapse cells, as well as run them straight from the gutter. Additionally, cells now display their statuses and assigned tags.<\/p>\n\n\n\n<p>All these improvements are designed to make working with Jupyter notebooks in PyCharm seamless, fast, and efficient.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2319\" height=\"1378\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/01_Jupyter_inline_variable_preview-1.png\" alt=\"PyCharm Jupyter Notebooks \" class=\"wp-image-501702\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">AI cells in Jupyter notebooks<\/h4>\n\n\n\n<p>With our new <em>AI<\/em> cell option, you can add prompts directly inside your notebooks and work with AI Assistant right from there. A light bulb icon next to the <em>AI <\/em>cell provides suggestions about the next steps in your data analysis workflow.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2056\" height=\"1420\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/Jupyter_ai_cells.png\" alt=\"\" class=\"wp-image-501771\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">One-click dataframe visualization<\/h4>\n\n\n\n<p>Visualize your dataframes with the help of AI Assistant, which now provides suggestions about the graphs and plots most suitable to your context.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AI Assistant<\/h3>\n\n\n\n<p>JetBrains AI Assistant 2024.2 enhances cloud-based code completion with faster, more accurate suggestions and a better UX, including syntax highlighting and the option to accept suggestions incrementally. The AI chat now uses the latest GPT-4o model and supports chat references and semantic search.&nbsp;<\/p>\n\n\n\n<p>New features include AI integration in the <em>Terminal <\/em>tool window for command generation, AI-assisted VCS conflict resolution, and customizable prompts for documentation and unit test creation.<\/p>\n\n\n\n<p>Learn about these and other AI Assistant enhancements in this dedicated <a href=\"https:\/\/blog.jetbrains.com\/en\/ai\/2024\/08\/jetbrains-ai-assistant-2024-2\" target=\"_blank\" rel=\"noreferrer noopener\">blog post<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1414\" height=\"782\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/AI-Assistant-in-terminal.png\" alt=\"AI assistant\" class=\"wp-image-501680\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Database tools <mark style=\"background-color:#6b57ff\" class=\"has-inline-color has-white-color\">PRO<\/mark><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">New AI Assistant features&nbsp;<\/h4>\n\n\n\n<p>With the text-to-SQL feature, you can generate SQL code directly in the editor by clicking <em>Generate Code with AI<\/em> and entering your prompt. You can accept, regenerate, or refine the code, and take it to the AI chat if you have further questions. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1574\" height=\"626\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-12-at-13.01.49.png\" alt=\"\" class=\"wp-image-501782\"\/><\/figure>\n\n\n\n<p>Additionally, AI Assistant can help with modifying tables, allowing you to request changes like switching all VARCHAR data types to CHAR. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXdvRlFL5wuwQhrcEoxZ-uyl0GakVqAE7d2jrkigvWQSPuO5tcmTt2M2u8Z_-Q5JlEPH13YS9BRakoUq2FY-DZWYMmARkpJce3i5u95C0m3Q1t9kuAFdgwvliSa7v-2r__fc39ea4aQbvOl1too2xs6Uuqc.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>It can also help you understand and fix SQL problems, suggesting explanations and fixes.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXfY5hAnx7uiHvBgkF_shvwYfvvaVf_G6JgkqqOVjb6ASTmJbt4pMM4uFwgQA1mwhbSzDDZZY7vtiAuddhfmMvZqPspTjJlU96nWWOWXeLAhcZdZE8gSylT6utthnbU4vl1qEQ0T21ghfbRiT9FyBvSgGP8.png\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXfwvmsoQKw-N2a3wrsbpD2uZBvFEl8jzhdauDF0prdq7iJ4D1t33h9yoo5UL8B7AmeMgXs5a7iH4c1jBoS6qlqnOAZaCT86KZVnzki-nHUe-NdUW5fqEuaNtVHHsrFihviUa1MjDzf15iQ7fI4M4gb27hG6.png\" alt=\"\"\/><\/figure>\n\n\n    <div class=\"buttons\">\n        <div class=\"buttons__row\">\n                                                <a href=\"https:\/\/www.jetbrains.com\/pycharm\/whatsnew\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Read more<\/a>\n                                                    <\/div>\n    <\/div>\n\n\n\n\n\n\n\n<h3 class=\"wp-block-heading\">User experience<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Preview option in <em>Search Everywhere<\/em><\/h4>\n\n\n\n<p>The <em>Search Everywhere<\/em> dialog now includes an option to preview the codebase elements you\u2019re searching for, offering additional context and making it easier to navigate through your project.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1620\" height=\"1421\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/01_UX_Preview-option.png\" alt=\"\" class=\"wp-image-501802\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Improved full line code completion <mark style=\"background-color:#6b57ff\" class=\"has-inline-color has-white-color\">PRO<\/mark><\/h4>\n\n\n\n<p>In 2024.2, full line code completion suggestions now include code highlighting, and new shortcuts allow you to accept individual words or entire lines from longer suggestions. We\u2019ve also refined how accepted changes are integrated into your code, eliminating any formatting issues.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Run\/Debug<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">String variable visualizers for JSON, XML, and other formats<\/h4>\n\n\n\n<p>Debugging and browsing long string variables with complex data formats is now much easier. The updated debugger offers properly formatted visualizations for string variables with strings encoded in JSON, XML, HTML, JWT, and URL.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1500\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/image-8.gif\" alt=\"\" class=\"wp-image-502242\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Frameworks and technologies <mark style=\"background-color:#6b57ff\" class=\"has-inline-color has-white-color\">PRO<\/mark><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">GraalJS as the execution engine for the HTTP Client&nbsp;<\/h4>\n\n\n\n<p>We\u2019ve upgraded the JavaScript execution engine used in the HTTP Client to <a href=\"https:\/\/github.com\/oracle\/graaljs\" target=\"_blank\" rel=\"noreferrer noopener\">GraalJS<\/a>. This allows you to use all GraalJS features, including full support for the ECMAScript 2023 specification, when testing endpoints with PyCharm\u2019s HTTP Client and using JavaScript in .http files to handle the results.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXeN9BodD8HQXuaXywNwduCmu3_CvytjBa6M3BrZwZT0gx6czhnxlHImzOteTQjyTKdLeUuSlRVE9EFRk_a9KYuF1ep2IyjzGLAqf9wTqkMi5Q1x0QxUveArEiVz8F_l3FS7V5LEtQ2LGbujGdGnDn2k3RaH.png\" alt=\"\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Client improvements<\/h4>\n\n\n\n<p>In the HTTP Client, we\u2019ve added XPath functionality for querying and manipulating XML and HTML documents, support for iterating through collections using JSONPath to automate requests, and the ability to create and add custom API methods effortlessly.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Enhanced Terraform support&nbsp;<\/h4>\n\n\n\n<p>We&#8217;ve enhanced PyCharm&#8217;s Terraform support with full line code completion, improved context-aware code completion, refined syntax highlighting, and better error detection with quick-fix suggestions. Additionally, a quick documentation feature now provides instant tooltips, offering immediate information to streamline your Terraform workflow.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1500\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/image-7.gif\" alt=\"\" class=\"wp-image-502213\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1500\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/image-8.gif\" alt=\"\" class=\"wp-image-502231\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Frontend <mark style=\"background-color:#6b57ff\" class=\"has-inline-color has-white-color\">PRO<\/mark><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Improved support for major web frameworks<\/h4>\n\n\n\n<p>PyCharm can now resolve paths for frameworks that use file-system-based routing. It can also resolve link paths based on your project&#8217;s file system, providing autocompletion and navigation for Next.js, Nuxt, SvelteKit, and Astro. There is also support for new Svelte 5 snippets and render tags.&nbsp;<\/p>\n\n\n\n<p>Additionally, we\u2019ve implemented language server protocol (LSP) support for Astro and upgraded the Vue LSP to Vue Language Service v2, improving code completion and the overall developer experience.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ability to run and debug TypeScript files directly<\/h4>\n\n\n\n<p>You can now run and debug TypeScript files from different entry points, including the file context menu, the <em>Run<\/em> widget, and the <em>Current File<\/em> configuration.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1620\" height=\"1338\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/08\/01_Frontend_Ability-to-run-and-debug-TS.png\" alt=\"\" class=\"wp-image-502428\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Remote development <mark style=\"background-color:#6b57ff\" class=\"has-inline-color has-white-color\">PRO<\/mark><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Reverse port forwarding<\/h4>\n\n\n\n<p>With reverse port forwarding, you can now connect a remote IDE to ports available on the client machine. This is particularly useful for mobile development and connecting to local databases.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXdrP4EVtLyFb653kZ07wMViCwg0QOhntWZZU9UlP1xOS6zeeKSJIatBjk74VtVDqiwuRNpoSxuxyyr86ta5v3ZtaUsphZEplJeubXx26jGh5auEcTJ5UQLF-RB_oWvSxfA5oAG2feTNCyUIlWxkqegEeOBk.png\" alt=\"\" style=\"aspect-ratio:1.6607929515418502;width:809px;height:auto\"\/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXdeUsM5t2V0m_SBn3A3WBAvMFNuBAVxKu9Fq00LaRqNBTkhVvTUc5Otu-2aFsdT_KmR922R9b_zAQfootSbMgS0sUeVSyW5nezwCISj7YsDe88NrUV9aT60R01gIgxyr_n0d5chBoy5Uox-Nizq0Lq4OGc8.png\" alt=\"\" style=\"aspect-ratio:1.6347826086956523;width:811px;height:auto\"\/><\/figure><\/div>\n\n    <div class=\"buttons\">\n        <div class=\"buttons__row\">\n                                                <a href=\"https:\/\/www.jetbrains.com\/pycharm\/download\/?section=mac\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Download PyCharm 2024.2<\/a>\n                                                    <\/div>\n    <\/div>\n\n\n\n\n\n\n\n<p>These are all the key features of this release, but there\u2019s much more to explore! Visit our <a href=\"https:\/\/www.jetbrains.com\/pycharm\/whatsnew\/\" target=\"_blank\" rel=\"noreferrer noopener\">What\u2019s New<\/a> page or<a href=\"https:\/\/youtrack.jetbrains.com\/articles\/PY-A-233538262\/PyCharm-2024.2-242.20224.347-build-Release-Notes\" target=\"_blank\" rel=\"noreferrer noopener\"> release notes<\/a> for the full breakdown and additional details about the features mentioned here.&nbsp;<\/p>\n\n\n\n<p>If you encounter any problems, please report them in our <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/PY?_gl=1*y59dtj*_ga*MjU1NTkwODM1LjE2ODE3MzQyNDE.*_ga_9J976DJZ68*MTcxMDUyMjYyNy4zMDcuMS4xNzEwNTIyODYwLjMwLjAuMA..&amp;_ga=2.242684738.1950814981.1710335854-255590835.1681734241\" target=\"_blank\" rel=\"noopener\">issue tracker<\/a> so we can address them promptly.&nbsp;<\/p>\n\n\n\n<p>Connect with us on <a href=\"https:\/\/twitter.com\/pycharm\" target=\"_blank\" rel=\"noreferrer noopener\">X (formerly Twitter)<\/a> to share your thoughts on PyCharm 2024.2. We\u2019re looking forward to hearing them!<\/p>\n","protected":false},"author":1408,"featured_media":501724,"comment_status":"closed","ping_status":"closed","template":"","categories":[907],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/pycharm\/501497"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/pycharm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/pycharm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/1408"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=501497"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/pycharm\/501497\/revisions"}],"predecessor-version":[{"id":613586,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/pycharm\/501497\/revisions\/613586"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/501724"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=501497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=501497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=501497"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=501497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}