Das ist neu in RubyMine 2021.3

Integrierte RBS-Typsignaturen, neue Inspektionen für Typprüfungen und RBS-Dateien, Unterstützung für Remote-Entwicklung, verbesserte Benutzererfahrung und mehr.

Ruby und RBS

RBS-Typsignaturen integriert

Diese Version enthält RBS-Signaturen. RBS-Signaturen versetzen RubyMine in die Lage, bessere Programmierhilfen bereitzustellen – z. B. Echtzeit-Typprüfung und mehr Präzision bei Navigation, Suche und Refactoring.

Neue Inspektionen für RBS-Dateien

In dieser Version haben wir 12 neue Inspektionen für RBS-Dateien hinzugefügt. RubyMine überprüft den RBS-Code auf Stilabweichungen, ungenutzte Entitäten, Vererbungsprobleme, abweichende Teildeklarationen und ähnliche Probleme.

Die in RubyMine integrierte Rechtschreibprüfung prüft jetzt auch RBS-Dateien.

Parameterinformationen auf RBS-Basis

Das Parameterinfo-Popup (Strg+P) zeigt die Namen und Typen der Parameter einer Methode an. RubyMine kann dafür nun Typinformationen aus den entsprechenden RBS-Signaturen verwenden (sofern vorhanden).

Copyright für RBS-Dateien

Ihr Projekt enthält möglicherweise RBS-Dateien, die Sie urheberrechtlich schützen möchten. Damit Sie nicht jede Datei separat mit einem Copyright-Hinweis versehen müssen, kann RubyMine jetzt Ihre Copyright-Informationen automatisch an den Anfang von RBS-Dateien stellen.

RuboCop beim Speichern ausführen

Sie können RuboCop jetzt so konfigurieren, dass Dateien jedes Mal neu formatiert werden, wenn eine Datei geändert wurde und die Änderungen automatisch oder manuell gespeichert werden. Um diese Funktion zu aktivieren, suchen Sie unter Preferences / Settings nach rubocop und aktivieren Sie das Kontrollkästchen Run ‘rubocop -a’ on save.

Typprüfungen

Neue Inspektionen für RBS-basierte Typprüfungen

Wir haben eine Reihe neuer Inspektionen hinzugefügt, um Diskrepanzen zwischen einem zugewiesenen Wert und dem gemäß RBS erwarteten Typ zu erkennen.

Diese Inspektionen prüfen die Typen folgender Objekte: Konstanten, Instanz- und Klassenvariablen, Methoden- und Blockparameter, Rückgabewerte, an yield-Aufrufe übergebene Argumente und globale Variablen. Sie finden sie unter Preferences / Settings | Editor | Inspections | Ruby.

Erstunterstützung für Sorbet

RubyMine erkennt jetzt Sorbet-Typsignaturen, inklusive solcher in .rbi-Dateien. Typkonflikt-Inspektionen für Methodenargumente und Rückgabewerte können jetzt auf Sorbet-Informationen basieren.

Mit den Kontextmenü-Aktionen Go To | Type Signature / Associated Declaration können Sie zwischen zusammengehörigen Ruby- und RBI-Dateien hin und her wechseln. Sie können auch die Tastenkombination Strg+Alt+Pos1 verwenden.

Remote-Entwicklung

Unterstützung für Remote-Entwicklung

RubyMine unterstützt jetzt eine grundlegende Version des Remote-Entwicklungsworkflows. Sie können dadurch von überall auf der Welt eine Verbindung zu einem Remote-Computer herstellen, auf dem ein RubyMine-Backend ausgeführt wird. Die gesamte Verarbeitung erfolgt auf diesem leistungsstarken Remote-Computer, und Sie können so reibungslos an Ihrem Projekt arbeiten, als ob es sich auf Ihrem lokalen Computer befinden würde.

Benutzererfahrung

Leistungsverbesserungen

In dieser Version haben wir die Leistung des Code-Editors verbessert. Aktionen wie das Öffnen von Dateien, das Tippen, das Aufrufen der Code-Completion und das Anwenden von Quick-Fixes funktionieren jetzt schneller.

Bei durchschnittlich großen Projektdateien wirkt sich das nur geringfügig aus, aber bei der Arbeit mit großen Dateien (2000 Codezeilen oder mehr) ist der Geschwindigkeitsgewinn deutlich spürbar.

Bookmarks-Toolfenster

In dieser Version haben wir die Lesezeichen-Funktionalität überarbeitet. Sie können Lesezeichen benennen und in Knoten gruppieren. Alle Lesezeichen sind jetzt im neuen Bookmarks-Toolfenster (Alt+2) zusammengefasst.

Teilbares Run-Toolfenster

Sie können jetzt das Run-Toolfenster horizontal oder vertikal teilen. Dies kann nützlich sein, wenn Sie mehrere Konfigurationen parallel ausführen und die Ergebnisse gleichzeitig sehen möchten.

Ziehen Sie zum Aufteilen einfach den entsprechenden Tab in den hervorgehobenen Bereich. Um die Teilung aufzuheben, können Sie den Tab zurück auf die Tab-Leiste ziehen oder mit der rechten Maustaste auf den oberen Fensterbereich klicken und im Kontextmenü den Eintrag Unsplit auswählen.

Quellcode-Vorschau für Verwendungen

Im Fenster Show Usages (Strg+Alt+F7) können Sie jetzt die Quellcode-Vorschau aktivieren, indem Sie auf das quadratische Symbol klicken.

VCS

Checkout and Rebase onto Current für Remote-Branches

Mit der Aktion Checkout und Rebase onto Current können Sie den ausgewählten Branch auschecken und ein Rebasing auf dem aktuell ausgecheckten Branch durchführen. Bisher war dies nur bei lokalen Branches möglich. Ab dieser Version haben Sie die Möglichkeit, diese Aktion auch auf Remote-Branches anzuwenden.

Neues Changes-Toolfenster

Beginnend mit dieser Version zeigt RubyMine Commit-Daten und die Unterschiede zwischen Commits in einem separaten Changes-Toolfenster links neben dem Editor an.

Um das neue Toolfenster zu öffnen, klicken Sie auf dem Log-Tab Ihrer Versionsverwaltung mit der rechten Maustaste auf eine Revision und wählen Sie im Kontextmenü den Eintrag Compare with local aus.

Neue Aktion Push All up to Here

Mit einer neuen Aktion können Sie alle Commits bis zum ausgewählten Commit pushen. Dies kann nützlich sein, wenn Sie mehrere veröffentlichungsreife Commits haben, während andere noch in Bearbeitung sind.

Web und Frameworks

Verbesserte HTML-Completion

Wir haben die Funktionsweise der Code-Completion in HTML-Dateien verbessert. Bisher wurden Completion-Vorschläge in HTML-Dateien nur nach Eingabe des Zeichens < angezeigt. Ab dieser Version werden Completion-Vorschläge in HTML-Dateien auch dann angezeigt, wenn Sie einen Tag-Namen oder eine Abkürzung eingeben.

npm-Pakete aus dem Editor aktualisieren

Sie können jetzt npm-Pakete direkt im Editor auf die neueste Version aktualisieren. Öffnen Sie die Datei package.json, legen Sie die Einfügemarke auf die Paketversion, die Sie aktualisieren möchten, drücken Sie Alt+Enter und wählen Sie dann Update ‘Paketname’ to the latest version.

Verbesserungen im HTTP-Client

Der Client unterstützt jetzt binäre Antworten, gRPC-Anfragen und die Ausgabeumleitung in eine benutzerdefinierte Datei oder ein benutzerdefiniertes Verzeichnis. Darüber hinaus werden auch Text- und JSON-Streams sowie HTTP-Anfrage-IDs unterstützt.

Space

Merge-Requests und Code-Reviews in der IDE

Für Projekte in Space können Sie jetzt Merge-Requests und Code-Reviews direkt in der IDE erstellen. Um diese Aktionen aufzurufen, klicken Sie auf + in der oberen Symbolleiste des Toolfensters Code Reviews.

Dateien als gesehen markieren

Bei Code-Reviews werden die Dateien, die Sie noch nicht geprüft haben, mit blauen Punkten gekennzeichnet. Auf diese Weise können Sie sicherstellen, dass Sie bei der Durchführung eines Code-Reviews keine Änderungen in einem Space-Projekt übersehen.

Die Punkte verschwinden automatisch, nachdem Sie die entsprechenden Dateien geöffnet haben. Wenn Sie die Änderungen später überprüfen möchten, können Sie im Kontextmenü Mark as Not Viewed auswählen.

Datenbank-Tools

Datenbanken in der Versionsverwaltung

Sie können jetzt eine DDL-Datenquelle aus einer echten Datenquelle generieren, die DDL-Datenquelle zum Mappen der echten Datenquelle verwenden sowie beide vergleichen und in beliebiger Richtung synchronisieren.

Aggregate

Wir haben die Möglichkeit hinzugefügt, eine aggregierte Ansicht für einen Zellenbereich anzuzeigen. Wählen Sie einfach den gewünschten Zellenbereich aus, klicken Sie mit der rechten Maustaste und wählen Sie Show Aggregate View.

Neues Diff-Fenster für Datenbanken

Sie können jetzt das neue Datenbank-Diff-Fenster verwenden, um zwei Schemata oder Objekte zu vergleichen: Wählen Sie sie einfach aus und drücken Sie Strg+D.

Automatische Kopfzeilenerkennung

Ab dieser Version erkennt RubyMine beim Öffnen oder Importieren einer CSV-Datei automatisch, wenn die erste Zeile eine Kopfzeile mit Spaltennamen ist.

Weitere Verbesserungen

  • Sie können jetzt einen Screenreader zum Erstellen eines Projekts verwenden (IDEA-185260).
  • Wir haben das Toolfenster-Widget-Popup (IDEA-278151) und das Kurzdoku-Popup (IDEA-274143), die bisher beim Überfahren mit dem Mauszeiger angezeigt wurden, deaktiviert.
  • Wir haben ein Problem beim Aufrufen des Popups Go To Declaration or Usages behoben (IDEA-272536).
  • Mehrere Probleme mit dem Voiceover-Fokus wurden behoben (IDEA-273021).
  • Typprüfungen, Argumentkonflikt-Inspektionen und die Parameterinfo-Aktion funktionieren jetzt für super-Aufrufe in überschriebenen Methoden.
  • RBS-Restparameter (Parameter mit variabler Länge) zwischen anderen Parametern werden jetzt unterstützt.
  • Mit neuen Randleistensymbolen können Sie jetzt zwischen überladenen Methoden in RBS-Dateien navigieren.
  • Beim Erstellen einer neuen RBS-Datei können Sie das Symbol :: in einem Dateinamen verwenden, um eine Datei zu erstellen, die die umgebenden Module enthält.
  • Sie können jetzt mit der Sucheingabe Klasse#methode in Search | Symbols nach Methoden suchen.
  • RubyMine unterstützt jetzt Singleton-Instanzvariablen und -attribute und kann Typprüfungen und Hints für solche Fälle bereitstellen.
  • Die VCS-Einstellungen sind jetzt klarer strukturiert.
  • Eine Reihe von Problemen bei der Zuordnung von .js- und .d.ts-Dateien wurden behoben, und die Navigation zwischen ihnen ist jetzt über Randleistensymbole möglich.
  • Für npm, ESLint, Mocha und Jest werden jetzt Node.js-Remote-Interpreter unterstützt.
  • Die Indizierungszeiten von JavaScript-Dateien wurden um 20% verringert.
  • Sie können jetzt Remote-ES6-Module direkt im Editor herunterladen: Legen Sie die Einfügemarke auf den Importpfad, drücken Sie Alt+Enter und wählen Sie Download module.
  • Das integrierte Terminal unterstützt jetzt die neue ConPTY-API unter Windows. Durch dieses neue Terminal-Backend lösen wir mehrere Probleme, die von der alten, auf winpty basierenden Implementierung verursacht wurden. Diese Neuerung ermöglicht auch die Unterstützung von 24-Bit-Farben im Terminal.
  • In dieser Version haben wir Type-Ahead-Unterstützung für das integrierte Terminal hinzugefügt. Das Terminal kann jetzt Textänderungen vorhersagen und zeigt sie sofort in einer leicht veränderten Schriftart an. Dies kann bei der Arbeit auf Remote-Systemen nützlich sein, da die IDE die Zeichen trotz Latenz genauso schnell anzeigt wie auf einem lokalen Computer.