Das ist neu in PyCharm 2024.3

Inline-KI-Prompts und Programmierunterstützung für Dekorator dataclass_transform

AI Assistant

Inline-KI-Prompts

KI-Prompts direkt im Editor

Sie können jetzt mit AI Assistant dort interagieren, wo Sie den Großteil Ihrer Arbeit erledigen – direkt im Editor. Sie brauchen Hilfe bei einem Fehler in Ihrem Code? Sie möchten Dokumentationstexte oder Tests hinzufügen? Geben Sie Ihre Anfrage einfach in einer neuen Zeile im Editor ein. PyCharm erkennt automatisch Ihre in natürlicher Sprache formulierte Anfrage und generiert eine Antwort. Wenn die neue Zeile eingerückt ist, stellen Sie Ihrer Anfrage das Symbol $ oder ? voran.

PyCharm kennzeichnet die von AI Assistant geänderten Zeilen mit einer violetten Markierung in der Randleiste, damit Sie die Änderungen einfacher erkennen können.

Wenn Ihnen der erste Vorschlag nicht gefällt, können Sie mit der Tab-Taste einen neuen anfordern. Sie können auch die ursprüngliche Anfrage anpassen, indem Sie den violetten Block in der Randleiste anklicken oder Strg+\ (Windows) oder Cmd+\ (macOS) drücken.

Diese Funktion ist für Python-, JavaScript-, TypeScript-, JSON- und YAML-Dateien verfügbar.

Kontext für Inline-Prompt eingrenzen

Sie benötigen Unterstützung für ein bestimmtes Argument? Sie können den Kontext, den AI Assistant für seine Antworten verwendet, beliebig einschränken. Setzen Sie einfach die Einfügemarke auf den entsprechenden Kontext, geben Sie $ oder ? ein und schreiben Sie los. PyCharm erkennt Ihren Prompt und berücksichtigt den aktuellen Kontext beim Generieren der Vorschläge.

Dokumentationen generieren

PyCharm zeigt jetzt den Inlay-Hinweis Generate with AI Assistant an, wenn es das Docstring-Format erkennt. Mit dieser Funktion können Sie KI-Hilfe in Anspruch nehmen, um das Erstellen von Dokumentationen zu beschleunigen.

Verbessertes Kontextmanagement

Mit diesem Update haben wir die Verwaltung des Kontexts, den AI Assistant bei seinen Vorschlägen berücksichtigt, transparenter und intuitiver gestaltet. Eine überarbeitete Oberfläche, in der Sie jedes Kontextelement einsehen und verwalten können, bietet volle Transparenz und Kontrolle. Die geöffnete Datei und der darin enthaltene ausgewählte Code werden nun automatisch zum Kontext hinzugefügt. Sie können unkompliziert Dateien hinzufügen oder entfernen, um den Kontext an Ihren Workflow anzupassen. Darüber hinaus können Sie für das gesamte Projekt gültige Anweisungen beifügen, um die Antworten von AI Assistant an Ihren Codebestand anzupassen.

Auswahl des Chatmodell-Anbieters

Sie können jetzt Ihr bevorzugtes KI-Chatmodell auswählen. Sie haben die Wahl zwischen Google Gemini, OpenAI und den auf Ihrem System installierten lokalen Modellen. Durch diese erweiterte Auswahl können Sie die Antworten im KI-Chat an Ihren konkreten Workflow anpassen, um eine individuellere und persönlichere Erfahrung zu erhalten.

Code aus KI-Chat in der Python-Konsole ausführen

Sie können den vom AI Assistant vorgeschlagenen Code schneller iterieren, indem Sie Code-Snippets aus dem KI-Chat unkompliziert in der Python-Konsole ausführen. Klicken Sie auf die grüne Run-Schaltfläche in der oberen rechten Ecke des Codeabschnitts, um den Codevorschlag testweise auszuführen.

Sofortzugriff auf PyCharm-Dokumentation

AI Assistant kann Ihnen jetzt die beste Vorgehensweise zur Erledigung einer bestimmten Aufgabe in PyCharm vorschlagen, basierend auf der neuesten PyCharm-Dokumentation. Verwenden Sie den Befehl /docs, um konkrete Hinweise zur effizienten Erledigung Ihrer Aufgaben zu erhalten.

Erkennung von Dataframes und Variablen in Prompts

AI Assistant kann jetzt mit Dataframes und Variablen in Ihren Notebooks umgehen. Stellen Sie dem Namen eines Dataframes oder einer Variablen einfach das Zeichen # voran, und AI Assistant unterstützt Sie bei der Analyse. AI Assistant hat direkten Zugriff auf die Zusammenfassung und die Statistiken des Dataframes und kann Ihnen so die bestmöglichen Ergebnisse bereitstellen.

Außerdem können Sie direkt vom Chat zur Variables-Ansicht des Jupyter-Toolfensters navigieren. Klicken Sie einfach auf das Büroklammer-Symbol in Ihrer Erwähnung des Dataframes oder der Variablen.

Konvertieren von for-Schleifen in List-Comprehensions

Refaktorieren Sie Ihren Code schneller: AI Assistant unterstützt Sie jetzt bei der Umwandlung umfangreicher for-Schleifen in List-Comprehensions. Dies funktioniert mit allen for-Schleifen, einschließlich verschachtelter und while-Schleifen.

SQL-Fehlerbehandlung mit AI Assistant

Wir haben einige hilfreiche Aktionen eingeführt, um Fehlern bei der Ausführung von SQL-Abfragen mithilfe von AI Assistant auf den Grund zu gehen. PyCharm zeigt jetzt am rechten Rand neben jeder Fehlermeldung zwei Aktionen an: Explain with AI und Fix with AI.

Explain with AI öffnet den KI-Chat, sendet einen automatischen Prompt und zeigt Ihnen die Fehlererklärung des AI Assistant an.

Fix with AI generiert im Editor eine Korrektur für den Abfragefehler.

Diese beiden neuen Aktionen funktionieren ähnlich wie die Kontextaktionen Fix SQL Problem Under Caret und Explain SQL Problem Under Caret.

Damit diese Funktion entsprechende Erklärungen und Korrekturen vorschlagen kann, müssen Sie das Datenbankschema anhängen.

Lokale mehrzeilige KI-Completion PyCharm Professional

PyCharm Professional bietet jetzt lokale mehrzeilige KI-basierte Completion-Vorschläge, die vom proprietären JetBrains-ML-Modell bereitgestellt werden, das auch für die Ganzzeilen-Code-Completion verwendet wird. Wichtig zu wissen: Wir verwenden Ihre Daten nicht für das Modelltraining.

Die lokale mehrzeilige Code-Completion generiert in der Regel 2 bis 4 Codezeilen in Fällen, in denen die logische Abfolge der nächsten Schritte vorhersehbar ist, z. B. in Schleifen, bei der Behandlung von Bedingungen oder bei der Vervollständigung von allgemeinen Codemustern und Standard-Codebausteinen.

Python

Programmierunterstützung für Dekorator dataclass_transform (PEP 681)

Wenn Sie mit benutzerdefinierten Datenklassen arbeiten, die mit Bibliotheken erstellt wurden, die den Dekorator dataclass_transform verwenden, stehen Ihnen jetzt alle intelligenten Programmierhilfen zur Verfügung, die Sie von Standard-Datenklassen gewohnt sind. So können Sie beispielsweise Code-Completion für Attribute und Typinferenz für Konstruktor-Signaturen nutzen.

Jupyter Notebook PyCharm Professional

Automatische Installation mehrerer Pakete

PyCharm 2024.3 erleichtert die Installation von Paketen, die in Ihrem Code importiert werden. Mit einem neuen Quick-Fix können Sie mehrere Pakete mit einem Klick herunterladen und installieren.

Bestimmte Zeilen in der Jupyter-Konsole ausführen

PyCharm bietet Ihnen jetzt die Möglichkeit, ausgewählte Codezeilen direkt in der Jupyter-Konsole auszuführen, ohne die gesamte Zelle ausführen zu müssen. Dadurch können Sie einzelne Codeabschnitte schneller debuggen oder ihren Output überprüfen – dies bedeutet mehr Flexibilität und Effizienz in Ihren Arbeitsabläufen.

Öffnen von Jupyter-Tabellenausgaben im Fenster Data View

Durch das Anzeigen von Jupyter-Tabellen im Toolfenster Data View können Sie für eine erweiterte Dataframe-Analyse auf leistungsstarke Funktionen wie Heatmaps, Formatierung, Slicing und KI-Funktionen zugreifen. Klicken Sie dazu einfach auf das Symbol Open in Data View.

Inline-Umbenennung von lokalen Variablen und Funktionen

Sie können jetzt lokale Variablen, Funktionen und Symbole direkt im Editor umbenennen, ohne einen Dialog öffnen zu müssen. Wählen Sie einfach das Objekt aus, das Sie umbenennen möchten, und drücken Sie Umschalt+F6.

Data View PyCharm Professional

Datenfilterung ohne Programmierung

Sie können jetzt die Daten im Toolfenster Data View und in Dataframes filtern, ohne eine einzige Zeile Code zu schreiben. Klicken Sie auf das Filter-Symbol in der oberen rechten Ecke des Toolfensters oder in einem Dataframe und wählen Sie die gewünschten Filteroptionen aus. Die Filterergebnisse werden sofort in demselben Fenster angezeigt.

Dies funktioniert mit allen unterstützten Python-Frameworks, darunter pandas, Polars, NumPy, PyTorch, TensorFlow und Hugging-Face-Datasets.

Benutzererfahrung

Hervorhebung aller Vorkommen des ausgewählten Texts

In der Standardeinstellung hebt PyCharm jetzt automatisch alle Vorkommen des ausgewählten Texts in der jeweiligen Datei hervor. So können Sie leichter erkennen, wo Ihr ausgewählter Text in Ihrem Code erscheint. Sie können die Funktion unter Settings | Editor | General | Appearance anpassen.

Rechtschreib- und Grammatikprüfung während der Indizierung

Aufbauend auf den Fortschritten der Version 2024.2 haben wir die Anzahl der Grundfunktionen, die während der Erstellung des Projektmodells und der Indizierung verfügbar sind, weiter erhöht. In Version 2024.3 sind jetzt auch Rechtschreib- und Grammatikprüfungen während der Indizierung verfügbar. Auf diese Weise können Sie Fehler z. B. in Markdown-Dokumenten und Dokumentations-Tags früher erkennen, ohne auf den Abschluss der Indizierung warten zu müssen.

Optimierte Platzierung der Rename-Aktion

Wir haben die Platzierung der Rename-Aktion im Kontextmenü optimiert, wenn dieses für Elemente im Editor oder im Project-Toolfenster aufgerufen wird. Die Aktion befindet sich jetzt auf der obersten Ebene, sodass Benutzer*innen, die bevorzugt mit der Maus arbeiten, Dateien, Variablen und andere Elemente schneller umbenennen können.

Run-Widget: Mehrere Konfigurationen gleichzeitig starten

Mit dem aktualisierten Run-Widget können Sie mehrere Konfigurationen gleichzeitig starten, indem Sie Strg gedrückt halten und das Debug-Symbol im Popup anklicken. Darüber hinaus zeigt das Widget Steuerelemente für alle gerade ausgeführten Konfigurationen an, um einen klaren Überblick über deren Status zu bieten und die Verwaltung zu vereinfachen.

Erhöhtes Standardlimit für Tabs

Wir haben das Standardlimit für Editor-Tabs auf 30 erhöht. Dies bedeutet, dass jetzt mehr Tabs offen bleiben können, bevor die IDE beginnt, die am längsten nicht genutzten Tabs zu schließen. Sie können dieses Verhalten unter Settings | Editor | General | Editor Tabs steuern.

Debugger

Angabe des Debug-Ports PyCharm Professional

Mit PyCharm können Sie jetzt einen einzigen Debugger-Port für die gesamte Kommunikation angeben, was das Debuggen in eingeschränkten Umgebungen wie Docker oder WSL vereinfacht. Nachdem Sie den Port in den Debugger-Einstellungen festgelegt haben, agiert der Debugger als Server, und die gesamte Kommunikation zwischen Debugger und IDE findet über den angegebenen Port statt.

Datenbanken PyCharm Professional

Schwebende Symbolleiste für die Paginierung

Um die Paginierung im Dateneditor sichtbarer zu machen, wird das entsprechende Steuerelement statt in der Symbolleiste nun unten in der Mitte des Dateneditors angezeigt.

Inspektion für übermäßige Verwendung von JOIN-Klauseln

In bestimmten Fällen ist die Ausführung von Abfragen, die eine große Anzahl an JOIN-Klauseln enthalten, aufgrund von Leistungseinbußen nicht empfehlenswert. Der Editor kann nun solche Abfragen erkennen und markieren. Sie können diese Inspektion in den IDE-Einstellungen aktivieren. Navigieren Sie zu Editor | Inspections, erweitern Sie den Abschnitt SQL und wählen Sie Excessive JOIN count.

Fragment-Introspektion und intelligente Aktualisierung für MySQL und MariaDB

PyCharm unterstützt jetzt die fragmentarische Introspektion. Zuvor konnte der Introspector nur eine vollständige Introspektion der Schemas in den MySQL- oder MariaDB-Datenbanken durchführen; die Metadaten eines Objekts konnten nicht einzeln aktualisiert werden. Jedes Mal, wenn eine DDL-Anweisung in der Konsole ausgeführt wurde, bei der die Möglichkeit bestand, dass sie ein Objekt im Datenbankschema verändern könnte, führte die IDE eine vollständige Introspektion des gesamten Schemas durch. Das war zeitaufwändig und störte oft den Arbeitsablauf.

Jetzt analysiert PyCharm, welche Objekte von einer DDL-Anweisung betroffen sein könnten, und aktualisiert nur diese Objekte. Wenn Sie ein einzelnes Objekt im Database Explorer auswählen und die Aktion Refresh aufrufen, wird nur dieses eine Objekt aktualisiert, anstatt wie bisher das gesamte Schema.

Webentwicklung PyCharm Professional

Bessere Navigations- und Umbenennungsfunktionen für Framework-Komponenten

Wir haben die im Editor angezeigten Hinweise für Vue-, Svelte- und Astro-Komponenten verbessert. Die Aktion Show component usages findet jetzt Verwendungen sowohl in Importen als auch in Markup-Templates. Wir haben auch einen Filter Show Component Usages hinzugefügt, um Komponentenverwendungen bei der Suche nach regulären Dateireferenzen auszuschließen. Das Rename-Refactoring bietet wiederum eine neue Option zum Einbeziehen von Verwendungen beim Umbenennen einer Komponentendatei.

Übersichtlichere Suchergebnisse für Verzeichnisse

PyCharm schließt jetzt standardmäßig node_modules-Ergebnisse aus, wenn Sie Find in Files in Projektverzeichnissen verwenden, sodass die Menge an irrelevanten Dateien reduziert wird. Sie können das bisherige Verhalten wiederherstellen, indem Sie die Option Search in library files when “Directory” is selected in Find in Files unter Settings | Advanced Settings aktivieren.

VCS

Generierung von Titeln und Beschreibungen für Pull- und Merge-Requests

Mit AI Assistant können Sie jetzt direkt in der IDE passende Titel und Beschreibungen für Ihre Pull- und Merge-Requests generieren. Dies vereinfacht Ihren Arbeitsablauf und sorgt dafür, dass Ihre Beschreibungen klar und prägnant sind.

Updates für Find in Files

Die Funktion Find in Files wurde um einen neuen Suchbereich erweitert: Project Files Excluding Git-Ignored. Mit dieser Option werden alle per .gitignore ignorierten Dateien von den Suchergebnissen ausgeschlossen. So können Sie sich beim Durchsuchen Ihres Projekts auf den relevanten Code konzentrieren.

Option zur Deaktivierung von Pre-Commit-Hintergrundprüfungen

Sie können jetzt Hintergrundprüfungen während des Commit-Prozesses mit einer neuen Option Run advanced checks after a commit is done unter Settings | Version Control | Commit verwalten. Mit dieser Einstellung können Sie festlegen, ob Tests und Inspektionen nach einem Commit ausgeführt werden sollen. Wenn Sie möchten, dass diese Prüfungen vor dem Commit abgeschlossen werden, deaktivieren Sie die Option einfach.

Frameworks und Technologien PyCharm Professional

Updates für den HTTP-Client

In PyCharm 2024.3 können Sie direkt im HTTP-Client mit der Syntax $env.ENV_VAR auf Umgebungsvariablen zugreifen. Dies ermöglicht eine größere Flexibilität bei der Verwaltung und Verwendung von Variablen in Ihren Anfragen und Skripten. Außerdem können Sie jetzt Anfragen aus einer inkludierten .http-Datei ausführen – alle auf einmal oder nur namentlich ausgewählte Anfragen – sowie Variablen überschreiben.

Verbesserte Unterstützung von Dev-Containern

Dev-Container-Builds funktionieren jetzt reibungsloser auf entfernten Docker-Engines, indem bei remote nicht zugänglichen lokalen Verzeichnissen Fehler vermieden werden. Die Stabilität in WSL wurde durch verbesserte Image-Builds und zuverlässige Verbindungen ebenfalls optimiert.

Die Datei devcontainer.json verarbeitet features konsistenter, und die neue Option <0>updateRemoteUID vermeidet Zugriffskonflikte, indem sie die Benutzeridentität auf den richtigen Wert setzt. Die IDE-Einstellungen in Dev-Containern können über devcontainer.json-Dateien oder über die Schaltfläche Add currently modified settings from IDE angepasst werden, wobei die Auswahl der verfügbaren Optionen durch Auto-Completion erleichtert wird.

Verbesserungen für das neue Terminal Beta

Das neue Terminal bietet jetzt eine verbesserte Befehlsverarbeitung, und die Ausrichtung der Bedienoberfläche wurde optimiert, um eine reibungslosere und intuitivere Arbeitserfahrung zu ermöglichen. Das Terminal ist jetzt reaktionsschneller und verarbeitet Eingaben schneller. Sie können jetzt reibungslos zwischen Sitzungen wechseln, wobei der Status für jeden Tab konsistent beibehalten wird, um einen unterbrechungsfreien Arbeitsablauf zu gewährleisten. Die Auto-Completion greift schneller auf Befehlsnamen, Flags und Pfade zu und reduziert so die Notwendigkeit manuelle Eingaben. Außerdem haben wir weitere Anpassungsoptionen eingeführt, unter anderem für Eingabeaufforderungsstile, Sitzungsnamen und Umgebungsvariablen, sodass Sie jetzt mehr Kontrolle über Ihre Terminalumgebung haben.

Kubernetes-Cluster-Protokolle

PyCharm bietet jetzt einen Cluster-weiten Zugriff auf Kubernetes-Protokolle mit Streaming und Pattern-Matching – unverzichtbare Tools für Entwicklungs-, DevOps- und SRE-Teams. Diese Funktion bietet eine zentrale Übersicht aller Ereignisse in Pods, Nodes und Services und hilft Ihnen, Probleme schnell zu erkennen, ohne die einzelnen Protokolle manuell durchzugehen. Das Echtzeit-Streaming ermöglicht eine sofortige Diagnose, während das Pattern-Matching die Erkennung von wichtigen Ereignissen und Fehlern automatisiert, z. B. Speicherplatzprobleme oder ungewöhnliche Netzwerkaktivitäten. In einem speziellen Blogartikel erzählen wir Ihnen mehr über diese Funktion und wie Sie sie nutzen können.

Docker-Compose-Verbesserungen

PyCharm 2024.3 bietet erweiterte Unterstützung für Docker Compose. Bei der Auto-Completion in env_file werden jetzt .env-Dateien bevorzugt und so die Einrichtung der Umgebung beschleunigt. Neue Build-Optionen – cache_to, no_cache, tags und <0>platforms – bieten eine bessere Kontrolle über Caching und Plattform-Targeting. Die verbesserte Handhabung von depends_on.required und depends_on.restart ermöglicht eine effektivere Verwaltung der Reihenfolge von abhängigen Containern beim Starten und Herunterfahren.

Neue Schlüssel wie deploy.placement.preferences, deploy.resources.pids und deploy.resources.reservations.devices bieten mehr Flexibilität für Serviceplatzierung und Ressourcenlimits. Multi-Kontext-Builds und privilegierte Builds werden jetzt mittels build.additional_contexts und build.privileged unterstützt.

Zu den weiteren Optionen zählen cgroup-Konfigurationen, benutzerdefinierte extra_hosts-Mappings und healthcheck.start_interval. Verbesserte Port-Einstellungen und secrets.environment vereinfachen jetzt die Verwaltung von Geheimwerten über Umgebungsvariablen.

Verbesserungen für OpenTofu und Terraform

Unterstützung für OpenTofu ist jetzt verfügbar. Dieses Update stellt Auto-Completion für Verschlüsselungsmethoden, Schlüsselanbieter und Inspektionen für unbekannte Referenzen bereit.

Die Aktionen für Terraform-Run-Konfigurationen sind über Search Everywhere zugänglich, und die IDE erkennt automatisch ungenutzte Variablen und lokale Werte, um Sie beim Bereinigen Ihres Codes zu unterstützen. Die Steuerelemente für Init, Validate, Plan, Apply und Destroy wurden verbessert und das Formular Run Configuration wurde vereinfacht. Verbesserte Nutzungsindikatoren und Warnungen für ungenutzte Ressourcen erleichtern zudem die Navigation und helfen Ihnen, inaktiven Code zu erkennen.