Das ist neu in RubyMine 2023.2

RubyMine 2023.2 bietet unseren neuen AI Assistant, verbesserte Turbo-Rails- und Import-Maps-Unterstützung, verbesserte Leistung, LSP-API-Unterstützung für Plugin-Entwickler*innen und erweiterte Funktionalität für RBS und Vue.

Ruby und Rails

Turbo-Rails-Unterstützung

Diese Version bringt Updates für die Turbo-Code-Completion in Ruby on Rails-Projekten. Es ist nun möglich, Code-Completion für Turbo-Streams in Controllern und Views und für das Broadcasting von Turbo-Streams aus Models zu verwenden. Die Completion für Turbo-Frames in Views ist ebenfalls verfügbar.

Unterstützung für Import Maps

Benutzer*innen können jetzt importmap-Befehle in Run Anything verwenden, Modul-Spezifikationen und Dateipfade in den Methoden pin und pin_all_from automatisch vervollständigen und zwischen importierten Modulen und deren Verwendungen navigieren.

Syntaxhervorhebung in Inspektionsbeschreibungen

Syntaxhervorhebung in Inspektionsbeschreibungen

Jetzt können Sie die Syntaxhervorhebung für Codebeispiele nutzen, um den Zweck für jede Inspektion leichter zu verstehen.

Code-Insight für Rails-Speicher-Zugriffsmethoden

Code-Insight für Rails-Speicher-Zugriffsmethoden

Code-Insights für ActiveRecord::Store-Zugriffsmethoden werden jetzt unterstützt. Profitieren Sie von Code-Completion und Navigation für Zugriffsmethoden, Dirty-Tracking-Methoden, Methoden zum Zugriff auf die Änderungen, die beim letzten Speichern vorgenommen wurden, und Validierungen für Zugriffsmethoden.

Benutzerdefinierte Typ-Renderer im Debugger

Benutzerdefinierte Typ-Renderer im Debugger

Sie können die Anzeigeformate verschiedener Objekte im Toolfenster Debug anpassen. Diese Funktionalität wird durch die Verwendung von Renderern erreicht, bei denen es sich um eindeutige Konfigurationen handelt, die mit bestimmten Typen verbunden sind und die vorschreiben, wie Instanzen dieser Typen im Debug-Toolfenster dargestellt werden. Durch die Verwendung von benutzerdefinierten Ausdrücken bieten diese Renderer ein hohes Maß an Flexibilität bei der Anzeige von Daten.

AI Assistant Beschränkter Zugang

AI Chat

Sie können Fragen stellen, Aufgaben besprechen oder mit unserem AI Assistant zusammenarbeiten. Die IDE liefert Ihnen Informationen, die für Ihr Projekt relevant sind, einschließlich Details zu den verwendeten Programmiersprachen und Technologien. Wenn Sie mit den Ergebnissen zufrieden sind, können Sie den von der KI generierten Code in den Editor einfügen, indem Sie die Funktion Insert Snippet at Caret verwenden oder ihn einfach kopieren und einfügen.

Generierung von Commit-Nachrichten

Generierung von Commit-Nachrichten

Der Dialog Commit Changes verfügt jetzt über eine neue Schaltfläche Generate Commit Message with AI Assistant (Commit-Nachricht mit AI Assistant generieren). Klicken Sie auf diese Schaltfläche, um Ihre Änderungsdifferenzen an den LLM zu senden, der dann eine beschreibende Commit-Meldung generiert, die Ihre Änderungen zusammenfasst.

Dokumentationserstellung mit AI Assistant

Um Dokumentation für eine Deklaration mit einem LLM zu erzeugen, rufen Sie einfach das Untermenü AI Actions auf und wählen Sie die Aktion Write documentation. Wenn Sie diese Option auswählen, generiert die IDE den statischen Teil des Kommentars, während die KI den eigentlichen Dokumentationstext für Sie erstellt.

Neue Bedienoberfläche

Neues Hamburger-Menü für Windows und Linux

Neues Hamburger-Menü für Windows und Linux

Wir haben unter Windows und Linux das Verhalten des Hamburger-Menüs in der Symbolleiste verfeinert. Die Menüelemente werden horizontal über der Symbolleiste angezeigt und das Menü kann in eine separate Symbolleiste umgewandelt werden.

Überarbeitete Fenster-Steuerelemente unter macOS

Die Fenster-Steuerelemente werden jetzt direkt in der Hauptsymbolleiste angezeigt – nicht wie bisher in der schwebenden Symbolleiste.

Ein-Klick-Navigation zwischen Projektverzeichnissen

In der Ansicht Project können Sie jetzt die Option Open Directories with Single Click (Verzeichnisse mit einem Klick öffnen) verwenden, die die Geschwindigkeit und die Reaktionsfähigkeit beim Erweitern und Zusammenklappen von Projektordnern verbessert. Um auf diese Option zuzugreifen, klicken Sie einfach auf das Symbol mit den drei Punkten und wählen Sie sie aus dem Dropdown-Menü aus.

Helles Design mit hellen Kopfleisten in der neuen UI

Helles Design mit hellen Kopfleisten in der neuen UI

Eine neue Option namens Light mit Light Header sorgt für ein einheitliches und kohärentes visuelles Erlebnis. Diese Option stellt sicher, dass Fensterkopfleisten, Tooltips und Benachrichtigungsblasen alle die gleichen hellen Farben haben, was die Gesamtoptik weiter verfeinert.

Farbige Projektkopfleisten in der neuen Bedienoberfläche

Farbige Projektkopfleisten in der neuen Bedienoberfläche

Farbige Projektkopfleisten sollen die Navigation zwischen mehreren geöffneten Projekten vereinfachen. Sie können jetzt jedem Projekt eine Farbe und ein Symbol zuweisen, um sie bei der Arbeit leichter zu unterscheiden.

RBS

Unterstützung für die Umbenennung von Tippfehlern

Unterstützung für die Umbenennung von Tippfehlern

Wir haben eine neue Quick-Fix-Aktion implementiert, mit der Sie Tippfehler in Symbolnamen durch Korrekturvorschläge ersetzen können.

Formatierung von Klassen- und Modulaliasnamen

Formatierung von Klassen- und Modulaliasnamen

Für Klassen- und Modul-Aliasnamen stehen nun Formatierungsfunktionen zur Verfügung.

Inspektionen von Namenskonventionen

Inspektionen von Namenskonventionen

Die Inspektionen von Namenskonventionen für Schnittstellen, Typ-Aliase und Typ-Variablen sind jetzt verfügbar.

Code-Insight für die use-Syntax

Code-Insight für die use-Syntax

Die Funktionalität der Code-Insight ist jetzt auch für die use-Syntax in RBS verfügbar.

Annotationen und Inspektionen für use-Direktiven

Annotationen und Inspektionen für use-Direktiven

Wir haben Annotationen und Inspektionen für Direktiven hinzugefügt, wenn sie missbraucht werden.

Formatierung von use-Direktiven

Formatierung von use-Direktiven

RubyMine stellt sicher, dass die Formatierung von use-Direktiven konsistent ist und etablierten Standards folgt.

Code-Insight für RBS-Klassen- und Modulaliasnamen

Code-Insight für RBS-Klassen- und Modulaliasnamen

Code-Insight, Navigation, Typinferenz und Umbenennungs-Refaktorierung sind jetzt auch für Klassen- und Modulaliasnamen verfügbar.

Performance

Verbesserte gem-Synchronisierung für Docker und Docker-Compose-SDKs

Verbesserte gem-Synchronisierung für Docker und Docker-Compose-SDKs

Wir haben die gem-Synchronisierung für Docker- und Docker-Compose-SDKs optimiert. Wir verwenden jetzt nur noch die Docker-Engine-API, um gems sowohl aus einem Image als auch aus einem laufenden Container zu kopieren.

Aktualisierter Lexer

Wir haben den RubyMine-Lexer grundlegend überarbeitet, was die Lexing- und Parsing-Geschwindigkeit drastisch erhöht hat.

Funktionen und Verbesserungen

LSP-API-Unterstützung für die Plugin-Entwicklung

Die LSP-API-Unterstützung umfasst derzeit die Hervorhebung von Fehlern und Warnungen, Quick-Fixes, Code-Completion sowie Navigation zu Deklarationen. Wir planen, in naher Zukunft weitere Funktionen einzuführen.

Aktualisierte Einstellungen für die Codefaltung

Wir haben die Standardoptionen für die Codefaltung aktualisiert. Sie sind jetzt:

  • Code-Umgrenzungen
  • Front-Matter
  • Linkziele
  • Inhalt
  • Tabellen
Vue-Sprachserver-Unterstützung

Vue-Sprachserver-Unterstützung

Der Vue-Sprachserver (Volar) wird nun von RubyMine unterstützt, um eine zielgenauere Fehlererkennung bereitzustellen. Standardmäßig wird Volar für TypeScript-Versionen ab 5.0 verwendet, während für frühere Versionen unsere eigene Implementierung eingesetzt wird.

Benutzererfahrung

Anheften von Run-Konfigurationen im Run-Widget

Anheften von Run-Konfigurationen im Run-Widget

Um die Verwaltung mehrerer Run-Konfigurationen zu vereinfachen, haben wir die Möglichkeit geschaffen, Ihre bevorzugten Konfigurationen im Run-Widget anzuheften.

Dateisortierung nach Änderungszeit in der Ansicht Project

Dateisortierung nach Änderungszeit in der Ansicht Project

In der Ansicht Project können Sie die Dateien jetzt nach der Änderungszeit sortieren. RubyMine sortiert Ihre Dateien jetzt automatisch nach dem Zeitpunkt ihrer Änderung.

Verbesserte Anpassungsmöglichkeiten für die Hauptsymbolleiste

Verbesserte Anpassungsmöglichkeiten für die Hauptsymbolleiste

Über ein Dropdown-Menü können Sie jetzt bequem Aktionen zur Symbolleiste hinzufügen.

Neue Live-Vorlagen für React-Hooks

Neue Live-Vorlagen für React-Hooks

Erkunden Sie die neue Sammlung von Live-Vorlagen und genießen Sie eine effizientere Entwicklungserfahrung mit React-Hooks.