Das ist neu in RubyMine 2020.2

Eine neue Methode zum Überprüfen von Codeproblemen, 27 neue Intention-Aktionen, Liquid-Unterstützung, vollständige Unterstützung für GitHub-Pull-Requests – und viele weitere neue Funktionen für Ruby, Rails, JS und Datenbanken.

Code-Insight

Neue Methode zum Überprüfen und Beheben von Codeproblemen

Neue Methode zum Überprüfen und Beheben von Codeproblemen

Wir haben ein neues Widget hinzugefügt, das die Anzahl der Probleme in der aktuellen Datei anzeigt. Wenn Sie darauf klicken, werden die Probleme in einem Toolfenster angezeigt. Von dort aus können Sie zum betroffenen Code springen oder auch das Problem direkt im Toolfenster beheben.

Weitere Informationen

Liquid-Templates

Grundlegende Unterstützung für die Template-Sprache Liquid

Grundlegende Unterstützung für die Template-Sprache Liquid

RubyMine 2020.2 bietet grundlegende Unterstützung für die Template-Sprache Liquid. Die IDE weist Sie auf Syntaxprobleme hin, bietet Live-Vorlagen zum Einfügen häufig verwendeter Konstrukte und formatiert Ihren Code gemäß Ihren Codestil-Einstellungen.

Weitere Informationen zur Liquid-Unterstützung

Neue, intelligente Intention-Aktionen

Sparen Sie Zeit beim Entwickeln!

RubyMine 2020.2 enthält eine ganze Reihe neuer Intention-Aktionen (Alt+Enter), mit denen Sie Ihren Code im Handumdrehen optimieren können.

Ternäre und if-else-Konstrukte umkehren

Ternäre und if-else-Konstrukte umkehren

Mit der Aktion Invert ‘if-else’ können Sie ein if-else-Konstrukt umkehren, sodass die Bedingung negiert und die Zweige vertauscht werden. Die Intention-Aktion Flip ‘?:’ bietet bei ternären Operatoren dieselbe Möglichkeit.

Wechseln zwischen verschachtelten if-Anweisungen und booleschen Ausdrücken

Wechseln zwischen verschachtelten if-Anweisungen und booleschen Ausdrücken

Mit der Aktion Merge nested ‘if’ können Sie eine verschachtelte Anweisung in einen booleschen Ausdruck umwandeln. Um diese Aktion aufzurufen, platzieren Sie den Textcursor auf das äußere if des Ausdrucks.

Die Aktion Split into multiple ‘ifs’ wirkt in umgekehrter Richtung. Zum Aufrufen muss sich der Textcursor auf dem booleschen Operator befinden.

Weitere Informationen

Wechseln „else/if“ und „elsif“

Wechseln „else/if“ und „elsif“

Mit den Intention-Aktionen Merge ‘else if’ und Split ‘elsif’ können Sie eine elsif-Anweisung in ein verschachteltes else/if-Konstrukt und umgekehrt umwandeln.

Aufeinanderfolgende if-Konstrukte zusammenführen/teilen

Aufeinanderfolgende if-Konstrukte zusammenführen/teilen

Die Aktion Merge/split sequential ‘if’s ist auf den Schlüsselwörtern elsif und if verfügbar. Sie schlägt das Zusammenführen von zwei Zweigen vor, wenn der Code in beiden Zweigen genau gleich ist. RubyMine kombiniert dann die beiden Bedingungen mit dem Operator || und fügt bei Bedarf Klammern hinzu. Die Aktion Split into multiple ‘if’s führt eine entgegengesetzte Umwandlung durch.

Namensraum erweitern oder reduzieren

Namensraum erweitern oder reduzieren

Diese Intention-Aktionen erweitern Zeilen mit dem Bereichsauflösungsoperator :: in verschachtelte Module und umgekehrt. Bitte beachten Sie, dass die Aktion Flatten namespace die darüber liegenden Module reduziert.

Hashes nach Schlüsseln sortieren

Hashes nach Schlüsseln sortieren

Mit dieser Intention-Aktion können Sie Hashes alphabetisch nach ihren Schlüsseln sortieren. Dies funktioniert auch bei Hashes mit verschiedenen Schlüsseltypen. In diesem Fall werden die Schlüssel nach Typen gruppiert und dann sortiert.

Weitere Informationen

Klarstellende Klammern hinzufügen/entfernen

Klarstellende Klammern hinzufügen/entfernen

Die Intention-Aktion Add clarifying parentheses ist für binäre und ternäre Ausdrücke verfügbar. Die Aktion ergänzt komplexe Ausdrücke, bei denen die Priorität der Operatoren relevant ist, um Klammern, damit die Auswertungsreihenfolge des Ausdrucks deutlicher wird. Das Gegenstück dazu lautet Remove unnecessary parentheses.

Weitere Informationen

Unterstriche in Zahlen ergänzen/entfernen

Unterstriche in Zahlen ergänzen/entfernen

Die Aktion Add underscores formatiert große Zahlen mithilfe von Unterstrichen, um die Lesbarkeit zu verbessern. Unterstützt werden Ganzzahlen, Fließkomma- und Oktalzahlen (Unterstriche alle 3 Ziffern) sowie Hexadezimal- und Binärzahlen (Unterstriche alle 4 Zeichen/Ziffern).

Bei Zahlen mit Unterstrichen können Sie die Aktion Remove underscores aufrufen.

Neue lokale Variable einführen

Neue lokale Variable einführen

Mit dieser Intention-Aktion können Sie eine neue lokale Variable einführen, wenn der Textcursor sich auf einem Ausdruck befindet.

Lokale Variable in Inline-Wert umwandeln

Lokale Variable in Inline-Wert umwandeln

Diese Intention-Aktion ist hilfreich, wenn beim Refactoring eine Variable übrig bleibt, die nur einmal verwendet wird.

Zwischen Block- und Zeilenkommentaren wechseln

Zwischen Block- und Zeilenkommentaren wechseln

Sie können jetzt Blockkommentare in Zeilenkommentare umwandeln und umgekehrt. Beachten Sie, dass diese Aktionen nur für Kommentare verfügbar sind, die am Zeilenanfang beginnen, da nur dann Blockkommentare möglich sind.

Code-Editor

Verbesserte Lesbarkeit von gefalteten if/while/for-Anweisungen

Verbesserte Lesbarkeit von gefalteten if/while/for-Anweisungen

Bei gefalteten Konstrukten wie if, while und for zeigt RubyMine jetzt die Bedingung oder die Variablen an, die in der ersten Zeile verwendet werden. Dadurch können Sie einfacher erkennen, ob das Konstrukt entfaltet und untersucht werden muss.

Rendern von RDoc/YARD-Dokumentationskommentaren im Editor

Das Lesen von RDoc oder YARD-Dokumentationen im Editor kann aufgrund der vielen Tags mühsam sein, insbesondere wenn man mit den Links und Bildern interagieren muss. Aus diesem Grund haben wir nun eine Möglichkeit geschaffen, Dokumentationstexte direkt im Editor zu rendern.

Sie können diese Funktion unter Preferences/Settings | Editor | General | Appearance | Render documentation comments aktivieren.

Heredoc-Injektionen

Heredoc-Injektionen

RubyMine unterstützt jetzt Heredoc-Injektionen für mehrzeilige Zeichenfolgen, in denen die ursprüngliche Formatierung und Einrückung beibehalten wird. Codeausschnitte, die zum Beispiel in HTML oder SQL vorliegen, lassen sich so einfacher einbetten.

Weitere Informationen

Verbesserte Navigation zwischen Methoden

Verbesserte Navigation zwischen Methoden

Sie können jetzt zwischen über- und untergeordneten Methoden navigieren, indem Sie eine Intention-Aktion aufrufen oder das entsprechende Symbol in der Randleiste anklicken.

Ruby

Unterstützung für Bereiche ohne Anfangswert

Unterstützung für Bereiche ohne Anfangswert

Wie immer unterstützt RubyMine die neueste Ruby-Version. So können Sie zum Beispiel in RubyMine v2020.2 die in Ruby 2.7 eingeführten Bereiche ohne Anfangswert (beginless ranges) verwenden.

Verbesserte Completion für Methoden aus der Standardbibliothek

Verbesserte Completion für Methoden aus der Standardbibliothek

RubyMine bietet jetzt für Methoden aus der Standardbibliothek – etwa Array#sort_by, Hash#each und andere – viel präzisere Completion-Vorschläge.

Zwischen benannten und nummerierten Parametern wechseln

Zwischen benannten und nummerierten Parametern wechseln

Sie können benannte Parameter jetzt ganz einfach in nummerierte Parameter umwandeln, die in Ruby 2.7 eingeführt wurden. Platzieren Sie den Textcursor auf einen benannten Parameter, drücken Sie Alt+Enter und wählen Sie die Aktion Convert named parameters to numbered. Convert numbered parameters to named wirkt in umgekehrter Richtung.

Weitere Informationen

Instanzvariable um attr_accessor/reader/writer ergänzen

Instanzvariable um attr_accessor/reader/writer ergänzen

Mit diesen neuen Intention-Aktionen können Sie Instanzvariablen auf einfache Weise um Attributzugriff-, Lese- und Schreibmethoden ergänzen. Legen Sie dazu den Textcursor auf eine Variable und drücken Sie Alt+Enter.

Rails

Lazy Keys erweitern

Lazy Keys erweitern

In Rails-Anwendungen, die Lazy Keys (Lazy Lookups) verwenden, erweitert diese Intention-Aktion den Schlüssel automatisch in seine vollständige Form. Bei einem Lazy Key in einem Controller wird möglicherweise gefragt, zu welchem Lazy Key erweitert werden soll (da es mehrere Optionen geben kann).

Git

Vollständige Unterstützung für GitHub-Pull-Requests

Endlich müssen Sie nicht mehr ständig zwischen dem Browser und Ihrer IDE hin und her wechseln. Der gesamte Pull-Request-Workflow kann jetzt in RubyMine erledigt werden!

Mit v2020.2 können Sie Pull-Requests durchsuchen, zuweisen, verwalten und sogar mergen. Sie können den zeitlichen Verlauf und die Inline-Kommentare anzeigen, Kommentare und Reviews einreichen und Änderungen übernehmen.

Weitere Informationen zur Unterstützung von GitHub-Pull-Requests

Verbesserte Git-Aktionsdialoge

Die Git-Dialoge für die Aktionen Merge, Pull und Rebase sind jetzt visuell einheitlicher und schlanker gestaltet. Das neue Design lässt auf Anhieb erkennen, welcher Git-Befehl ausgeführt wird.

Außerdem haben wir die Optionen –rebase im Pull-Dialog und –no-verify im Merge-Dialog hinzugefügt.

JavaScript und TypeScript

Neue, intelligente Intentions für JavaScript

Neue, intelligente Intentions für JavaScript

Neu eingeführte intelligente Intentions (Alt+Enter) helfen Ihnen dabei, einige Aktionen schneller auszuführen. Zum Beispiel können Sie jetzt eine for-Schleife mit numerischem Index mühelos in eine forEach-Arraymethode umwandeln. Das Lesen von Dokumentationskommentaren in JavaScript- und TypeScript-Dateien ist ebenfalls einfacher geworden, da diese jetzt direkt im Editor gerendert werden können, um Ablenkungen zu minimieren.

Nutzen Sie Prettier als Standard-Formatierungsengine in Ihren JavaScript-Projekten

Nutzen Sie Prettier als Standard-Formatierungsengine in Ihren JavaScript-Projekten

Sie möchten Prettier anstelle des integrierten Formatierers verwenden, um Ihren Code in Form zu bringen? Dieses Update macht es Ihnen noch leichter als zuvor. Aktivieren Sie einfach das neue Kontrollkästchen On code reformat, und die IDE verwendet ab sofort Prettier für die Neuformatierung der Dateitypen .js, .ts, .jsx und .tsx. Weitere Dateitypen lassen sich auf einfache Weise hinzufügen.

Weitere Informationen

Branchenführende Vue-Unterstützung

Branchenführende Vue-Unterstützung

Im Laufe des vergangenen Jahres haben wir neben zahlreichen anderen Neuerungen die Nuxt.js-Unterstützung, Vue-spezifische Codestileinstellungen und Verbesserungen bei der Verwendung von Vue in TypeScript-Projekten eingeführt. Damit bietet RubyMine eine umfassendere Vue-Unterstützung als je zuvor!

Weitere Informationen

Datenbank-Tools

Separater Editor für Zellenwerte

Separater Editor für Zellenwerte

Wenn Ihre Zelle einen großen Wert enthält, können Sie diesen jetzt in einem separaten Bereich anzeigen oder bearbeiten. Sie können außerdem auf der rechten Symbolleiste den Soft-Wrap-Modus ein- und ausschalten.

Neue Benutzeroberfläche für boolesche Werte

Neue Benutzeroberfläche für boolesche Werte

Es gibt jetzt eine benutzerfreundlichere Möglichkeit, boolesche Werte anzuzeigen und zu bearbeiten. Wahre Werte werden jetzt mit einem Punkt markiert, um sie von anderen Werten zu unterscheiden.

Bearbeitung:

  • Die Leertaste schaltet wie bisher zwischen den Werten um.
  • Mit f, t, d, n, g oder c können die folgenden Werte eingegeben werden: false (Falsch), true (Wahr), default (Standard), null, generated (generiert) und computed (berechnet).
  • Wenn Sie eine andere Taste drücken, wird eine Dropdown-Liste mit den möglichen Werten geöffnet.

Andere Änderungen

  • Die in v2020.1 eingeführte ML-unterstützte Code-Completion hat die Relevanz der Completion-Vorschläge effektiv verbessert. Wir haben uns daher entschieden, die Funktion in v2020.2 standardmäßig zu aktivieren.
  • Neue Darstellung der Suchergebnisse in Search Everywhere: Die Elemente werden nach Relevanz sortiert.
  • RubyMine 2020.2 unterstützt Git-Installationen in WSL2 bei der Arbeit mit Projekten auf Linux- oder Windows-Dateisystemen.
  • Sie können jetzt Code-Coverage-Berichte für mehrere Suiten erstellen und in HTML exportieren.
  • Grundlegende Unterstützung für den SQL-Dialekt Google BigQuery: RubyMine kann bei der Verwendung von Google BigQuery Ihre Abfragen korrekt hervorheben und Programmierunterstützung bereitstellen.
  • Die Code-Completion zeigt jetzt vollständige Typnamen für Methoden an, die andere Methoden aus übergeordneten Klassen oder Modulen überschreiben. Dadurch ist der Ursprung einer vorgeschlagenen Methode klarer zu erkennen.
  • Sie können jetzt die IRB-Konsole von Ruby 2.7 über Run Anything starten.
  • Die Completion in der Gemfile zeigt jetzt nur noch die neueste lokale Version der Gems an.
  • RubyMine zeigt jetzt eine Warnung an, wenn Sie an Stub-Methoden – Array.to_h(), Dir.each() und andere – eine falsche Anzahl von Parametern übergeben.
  • Wir haben die Warnung „Ordinary parameter is defined“ für alle Lambda-Fälle in nummerierten Parametern hinzugefügt.
  • Für den „not“-Aufruf in Active-Record-Beziehungsketten ist jetzt Typunterstützung verfügbar. Werden keine Argumente für eine where-Methode angegeben, bietet RubyMine jetzt „not“ als Completion-Vorschlag an.
  • Wir haben die Barrierefreiheit verbessert. RubyMine aktiviert außerdem automatisch die Barrierefreiheitsfunktionen, wenn ein Bildschirmleser aktiviert ist.