Das ist neu in RubyMine 2023.3

Bessere AI-Assistant-Unterstützung, benutzerdefinierte Pfade für Rails-Apps und -Engines, Code-Insight für „strict locals“ in Rails 7.1, zusätzliche Deklarationen aus RBS, Update von Typdarstellungen im Debugger, RuboCop im Servermodus, Codeinspektionen für Brakeman und mehr.

AI Assistant Allgemein verfügbar

AI Assistant von JetBrains ist jetzt allgemein verfügbar und bietet eine Reihe von neuen und verbesserten Funktionen, die Ihre Produktivität bei der Arbeit mit JetBrains-IDEs steigern.

AI-generated name suggestions

KI-generierte Namensvorschläge

Sie haben jetzt die Möglichkeit, KI-generierte Namensvorschläge für lokale Variablen und Parameter in Ihrem Ruby-Code zu aktivieren. Diese Aktion ist verfügbar, wenn Sie das Rename-Refactoring inline verwenden. Um Namensvorschläge zu erhalten, aktivieren Sie das Kontrollkästchen Provide AI-generated name suggestions unter Settings | Tools | AI Assistant.

AI assistant context

Verbesserte Ruby-Kontexte

Wir arbeiten weiterhin an der Verbesserung der Ruby-Kontexte sowie der Art und Weise, wie LLMs Ihren Code analysieren. Diese Änderungen haben einen Einfluss darauf, wie AI Assistant Dokumentationen generiert, Ihren Ruby-Code erklärt, den Inhalt von Dateien erkennt usw.

Generierung von Unit-Tests

Generierung von Unit-Tests

Mit AI Assistant können Sie mühelos Tests für öffentliche Methoden Ihrer Ruby- oder Rails-Anwendung generieren. Wählen Sie die Methode, die Sie testen möchten, und drücken Sie ⌥ + Enter (macOS) bzw. Alt + Enter (Windows). Wählen Sie im Kontextmenü AI Actions und dann Generate Unit Tests.

Sie können den AI Assistant in RubyMine als Zusatzfunktion mit einem Abonnement für den JetBrains AI Service verwenden.

Rails

Custom paths for Rails

Benutzerdefinierte Pfade für Rails-Apps und Engines

RubyMine erkennt, wenn Sie benutzerdefinierte Pfade in Ihren Rails-Apps und -Engines verwenden. Zusätzlich zu den Standardpfaden wie app, app/controllers und app/models erkennt die IDE alle anderen konfigurierten Pfade in Ihrem Projekt. Auf diese Weise können Sie die Standardstruktur anpassen und trotzdem von den Code-Insight-Funktionen von RubyMine profitieren. Um benutzerdefinierte Pfade einzurichten, navigieren Sie zu Settings | Languages & Frameworks | Rails | Paths.

Autoimport von Rails-Pfaden

Autoimport von Rails-Pfaden

Wir haben eine neue Option implementiert, um benutzerdefinierte Pfade in Ihrer Rails-Anwendung automatisch zu erkennen. Bei jedem Öffnen Ihres Projekts versucht RubyMine im Hintergrund, die Rails-Pfadkonfiguration zu importieren.

Code insight for elements outside default location

Code-Insight für Modelle, Controller und Mailer, die außerhalb der Standardpfade gespeichert sind

Alle Code-Insight-Funktionen, die Sie kennen und schätzen, wie z. B. Navigation und Typunterstützung, funktionieren jetzt auch für Modelle, Controller und Mailer, die außerhalb der Standardverzeichnisse gespeichert sind.

Strict locals

Сode-Insight für „strict locals“ in Rails 7.1

RubyMine bietet jetzt Auflösung, Completion, Find Usages, Rename und Navigation für „strict locals“.

Typinferenz

Type provision for self-type bindings

Typ-Bereitstellung für benutzerdefinierte Self-Typen innerhalb von Blöcken

RubyMine unterstützt jetzt die Anpassung des Self-Typs in Blöcken von RBS zu Ruby. Diese Funktion ist vorteilhaft für DSLs und hilft RubyMine bei der Erkennung, sodass die Code-Insight-Möglichkeiten verbessert werden.

Annotation to specify self-type of blocks

Benutzerdefinierte Annotation zur Angabe des Self-Typs von Blöcken

Mit einem YARD-ähnlichen Kommentar können Sie jetzt den Self-Typ von Blöcken direkt innerhalb des Blocks angeben.

Extra declarations from RBS

Unterstützung für zusätzliche Deklarationen aus RBS

Mithilfe einer neu implementierten grundlegenden Unterstützung können wir nun zusätzliche Deklarationen aus RBS übernehmen, wenn diese in Ihren Ruby-Dateien nicht vorhanden sind. Dies ist besonders vorteilhaft für Projekte, die Reflection ausgiebig nutzen, da die Deklarationen auch in diesem Fall in der Completion und anderen RubyMine-Funktionen verwendet werden können. Das Feature ist für Klassen, Module, Konstanten, Methoden und Variablen verfügbar.

Debugger

Typ-Renderer im Debugger

Update für die Typdarstellung im Debugger

Sie müssen den Debugger nicht mehr neu starten, um Änderungen an den Typ-Renderern zu übernehmen. Klicken Sie einfach auf die Schaltfläche Apply, und RubyMine übernimmt die Änderungen sofort.

Tools und Bibliotheken

Rubocop server mode

RuboCop im Servermodus

RubyMine unterstützt die automatische Ausführung von RuboCop im Servermodus. Damit dies funktioniert, müssen die folgenden Voraussetzungen erfüllt sein:

  • Linux oder macOS
  • Lokales Ruby MRI 2.3 oder höher
  • RuboCop 1.31 oder höher
Brakeman

Codeinspektionen für Brakeman

Jetzt haben Sie die Möglichkeit, die Ergebnisse von Brakeman in einem benutzerfreundlichen Format direkt in RubyMine einzusehen. Durch den einfachen Zugriff auf die Brakeman-Dokumentation, Vertrauensindikatoren und weitere Ressourcen können Sie Sicherheitsprobleme ohne Zeitverlust beheben. Vergewissern Sie sich, dass das Gem brakeman installiert ist, und starten Sie dann die Analyse mit Code | Analyze Code | Run inspection by name.

rspec-parameterized

Parametrisierte Spezifikationen mit rspec-parameterized

RubyMine stellt umfassende Unterstützung für die RSpec::Parameterized-Syntax bereit, einschließlich Erkennung, Auflösung und Completion-Vorschläge. Wir haben auch Run/Debug-Konfigurationen eingerichtet, um Ihnen das Testen zu erleichtern.

let_it_be support

Fixture-Deklarationen mit let_it_be

Wir haben Unterstützung für Fixture-Deklarationen in RSpec-Tests über let_it_be-Blöcke hinzugefügt. Die Features umfassen Variablenauflösung, Syntaxhervorhebung, automatische Handhabung der do-Block-Einfügung für before_all und mehr. Zur Aktivierung dieser Funktionalität muss das Gem test-prof installiert werden.