Das ist neu in PyCharm 2022.1

Authentifizierungsunterstützung für benutzerdefinierte Paket-Repositories, verbesserte Unterstützung für TypedDict und neue Services-UI für Docker

In dieser Version haben wir uns auf die Optimierung bestimmter Funktionsbereiche konzentriert, damit Sie PyCharm leichter bedienen und produktiver arbeiten können. Unser Schwerpunkt lag dabei auf der Fertigstellung einiger bereits implementierter Funktionen und der Vereinfachung bestimmter Workflows.

IDE

Authentifizierungs­unterstützung für benutzerdefinierte Paket-Repositories

Sie können eine einfache HTTP-Authentifizierung einrichten, um auf benutzerdefinierte Paket-Repositories zuzugreifen und Abhängigkeiten unkompliziert über PyCharm zu verwalten, ohne eine manuelle Installation im Terminal vornehmen zu müssen. Gehen Sie zum Toolfenster Python Packages, klicken Sie auf das Zahnradsymbol, klicken Sie im Dialogfenster auf das Pluszeichen, geben Sie die Repository-URL ein, wählen Sie die Option Basic HTTP und geben Sie die erforderlichen Anmeldedaten ein.

Neues Notifications-Toolfenster

Das neue Toolfenster Notifications ist an die Stelle des alten Toolfensters Event Log getreten. Dadurch werden hilfreiche Empfehlungen und relevante Benachrichtigungen einfacher strukturiert, damit Sie nichts Wichtiges verpassen.

Unterstützung für benutzerdefinierte Typ-Renderer

Erledigen Sie Ihre Debugsitzungen schneller und einfacher, insbesondere wenn Sie mit großen Objekten oder solchen mit zahlreichen Attributen arbeiten, indem Sie das Darstellungsformat der Objekte anpassen. Weitere Informationen dazu finden Sie in der Dokumentation.

Weitere Verbesserungen:

  • Sie können Ihren Code jetzt auch im LightEdit-Modus neu formatieren. Klicken Sie dazu im Hauptmenü auf Code | Reformat Code oder drücken Sie Strg+Alt+L.
  • PyCharm kann jetzt Python 3 unter macOS installieren, wenn keine Python-3-Programmdatei gefunden wird.

Jupyter-Unterstützung Pro

Code-Zellen bleiben nach der Ausführung im Bearbeitungsmodus

Wenn Sie Run Cell und Insert Below verwenden, befindet sich die neu hinzugefügte Zelle nun standardmäßig im Bearbeitungsmodus, damit Sie sofort mit dem Schreiben beginnen können. Dasselbe gilt, wenn Sie Ihre aktuelle Zelle bearbeiten und ausführen: Diese bleibt nach der Ausführung im Bearbeitungsmodus.

Optimiertes Kopieren und Einfügen von Zellen

Wenn Sie bisher im Befehlsmodus eine Zelle kopiert und eingefügt haben – zum Beispiel um die Zellen in Ihrem Notebook neu zu strukturieren –, wurde nur die Zelle selbst an der neuen Position eingefügt, nicht aber ihr Output. In PyCharm 2022.1 haben wir dieses Verhalten geändert.

Weitere Verbesserungen:

  • Unterstützung für die Laufzeit-Completion von Jupyter.

Editor

Verbesserte Code-Completion für TypedDict

PyCharm macht es Ihnen einfach, dict-Literale als Funktionsargumente zu verwenden oder Objekte aus Klassen zu instanziieren, in denen TypedDict erwartet wird, indem Code-Completion für die verfügbaren Schlüssel bereitgestellt wird.

Verbesserte, schlüsselspezifische TypedDict-Warnungen

Wenn ein als Literal oder mit dem dict-Konstruktor erstelltes Dictionary an einer Stelle verwendet wird, wo ein TypedDict erwartet wird, zeigt PyCharm für jeden Schlüssel, der falsch ist, fehlt oder nicht erwartet wird, individuelle Fehlermeldungen an.

Befehle in Markdown-Dateien ausführen

Wenn Sie mit Markdown-Dateien arbeiten, die Anweisungen mit auszuführenden Befehlen enthalten (z. B. README-Dateien), können Sie diese Befehle mithilfe des Ausführen-Symbols in der Randleiste direkt aus der Datei heraus ausführen.

Codeabschnitt in Markdown kopieren

Mit der neuen Aktion Copy code snippet in Markdown-Blöcken können Sie Inhalte mit einem einzigen Klick in die Zwischenablage kopieren.

Weitere Verbesserungen:

  • Die überarbeitete schwebende Symbolleiste des Markdown-Editors hilft Ihnen, Überschriften auszuwählen, Listen anzulegen und weitere Aktionen auszuführen.
  • Die Aktion Join Lines kann jetzt auch mit verschachtelten if-Anweisungen umgehen.

Remote-Unterstützung Pro

Neue Services-UI für Docker

Die Arbeit mit Docker kann schnell unübersichtlich werden. Wir haben die Bedienoberfläche für Docker im Toolfenster Services gründlich überarbeitet, um Ihnen eine bessere Kontrolle über Ihre Container, Images, Netzwerke und Volumes zu geben.

Unterstützung für Docker Registry V2

Bei Verwendung von Docker 1.6+ wird die Docker Registry HTTP API V2 unterstützt. Sie können einfache oder passwortgeschützte Docker-V2-Registries anlegen und alle üblichen Aktionen ausführen, z. B. Anzeige, Push und Pull von Images.

Benutzerdefinierter Pfad zu kubectl

Sie können den Pfad zu kubectl manuell konfigurieren, wenn das Programm sich nicht am Standard-Speicherort befindet. Um den benutzerdefinierten Pfad anzugeben, gehen Sie zu Settings / Preferences | Build, Execution, Deployment | Kubernetes | Path to kubectl executable.

Weitere Verbesserungen:

  • Kubernetes: Für Pods ist jetzt eine Port-Weiterleitungsfunktion verfügbar.
  • Kubernetes: Es gibt eine neue Aktion Describe Resource für alle Ressourcen in der Services-Ansicht.
  • Kubernetes: Das Ändern von aus dem Cluster geladenen Ressourcen kann jetzt im Editor-Tab erfolgen.

Frontend und Datenbanken Pro

Erweiterte Next.js-Unterstützung

Dank der integrierten React-Unterstützung konnten Sie in Ihren Next.js-Projekten alle wichtigen Funktionalitäten bisher schon nutzen. PyCharm 2022.1 fügt Unterstützung für einige Framework-spezifische Aspekte hinzu – z. B. Seiten. PyCharm löst jetzt Pfade auf, die in der href-Eigenschaft von Link-Komponenten, in form oder anderen Tags verwendet werden. Die Code-Completion, die Navigation im Code und das Refactoring funktionieren ebenfalls.

Volta-Unterstützung

PyCharm bietet jetzt eine nützliche Integration für das JavaScript-Tool-Manager Volta und erkennt automatisch Yarn und npm, wenn diese mit Volta installiert wurden.

MongoDB: Bearbeiten von Feldern in Ergebnissen

Jetzt können Sie Ergebnisse in MongoDB-Collections genauso einfach bearbeiten wie in relationalen Datenbanken. Auch Ergebnismengen, die Sie über .find() erhalten, lassen sich jetzt bearbeiten. Dies funktioniert selbst dann, wenn Cursor-Methoden, die das Ergebnis verändern, wie sort() oder limit(), nach .find() ausgeführt werden.