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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Mit dieser Intention-Aktion können Sie eine neue lokale Variable einführen, wenn der Textcursor sich auf einem Ausdruck befindet.
Diese Intention-Aktion ist hilfreich, wenn beim Refactoring eine Variable übrig bleibt, die nur einmal verwendet wird.
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.
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.
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.
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.
Sie können jetzt zwischen über- und untergeordneten Methoden navigieren, indem Sie eine Intention-Aktion aufrufen oder das entsprechende Symbol in der Randleiste anklicken.
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.
RubyMine bietet jetzt für Methoden aus der Standardbibliothek – etwa Array#sort_by
, Hash#each
und andere – viel präzisere Completion-Vorschläge.
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.
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.
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).
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
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.
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.
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.
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!
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.
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:
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). Array.to_h()
, Dir.each()
und andere – eine falsche Anzahl von Parametern übergeben. 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.