Ich verwende ein Plugin namens String Manipulation, das die Funktionen bietet, nach denen Sie suchen (und mehr).
Wählen Sie historyOfPresentIllness
und drücken Sie Alt+ M, um das Plugin-Menü aufzurufen. Drücken Sie dann:
- 5- Zu snake_case (oder zu camelCase), das in konvertiert wird
history_of_present_illness
- 6 - Zum Bindestrich (oder zum Schlangenfall), der in konvertiert wird
history-of-present-illness
Um dies zu vereinfachen, können Sie eine Verknüpfung unter einrichten File | Settings | Keymap
.
Eine schnelle Suche der Plugin - Repository für „Kamel“ zeigte ein Plugin namens
Camelcase , das genau das tut , was Sie suchen mit
SHIFT+
ALT+
Uvon zwischen verschiedenen Formaten Makeln:
historyOfPresentIllness
-> history_of_present_illness
-> HISTORY_OF_PRESENT_ILLNESS
-> HistoryOfPresentIllness
->historyOfPresentIllness
Nach dem Ausprobieren scheint es jedoch einen Fehler mit diesem Plugin zu geben, der Sie daran hindert, Änderungen rückgängig zu machen. Update: Es scheint, dass dieser Fehler bereits seit einiger Zeit behoben ist, daher ist das CamelCase-Plugin wahrscheinlich der richtige Weg.
Edit > Macros > Start recording macro
und dann eine einfache Schlüsselzuordnung für Ihr Makro hinzufügen könntenSettings > Keymap > Macros > YourMacro (right-click > Add Keyboard Shortcut)
5
fürSCREAMING_SNAKE_CASE
undJ
ist fürTrim all spaces
. Unter Mac OS X 10.10.5, PhpStorm 10.0.1, String Manipulation 4.1.135.445.1.Drücken Sie ganz einfach
Clr + F
, um das Bedienfeld Suchen / Ersetzen zu öffnen , und aktivieren Sie [✓] Regex- Kopie nach RegexFinden:
[_]{1,1}([a-z])
Ersetzen:
\U$1
Drücken Sie die Taste [Alle ersetzen]
Dank @piotrek für
_some_awe_var
zu_someAweVar
Verwenden Sie Suchen:
(\w)[_]{1,1}([a-z])
Ersetzen:
$1\U$2
quelle
([A-Z]{1,1})
und Ersetzen durch_\l$1
, wobei sowohl die Optionen Regex als auch Match umgeschaltet sind._
, wodurch sie mit der Großschreibung beginnen.(\w)[_]{1,1}([a-z])
Ersetzen:$1\U$2
Von snake_case zu CamelCase
(\w)[_]{1,1}([a-z])
$1\U$2
Von CamelCase zu snake_case:
([A-Z])
\_\L$1
quelle
Die obige Antwort ist fast perfekt, aber beachten Sie, dass sie Variablen wie
_something
oderthis._something
inSomething
und ändertthis.Something
. Ich wollte das in meinem Fall nicht, da führendes _ verwendet wurde, um "private" Variablen zu bezeichnen (altes JS-Projekt). Ich habe diesen Ansatz leicht modifiziert:Finden Sie: (\ w) [_] {1,1} ([az])
Ersetzen: $ 1 \ U $ 2
Dadurch wird sichergestellt, dass nur Variablen mit
_
in der Mitte betroffen sind.quelle
Wenn Sie damit einverstanden sind, dass PyCharm auch die Verwendung umgestaltet, starten Sie das Tool "Umbenennen" (Refactor> Umbenennen). Das Fenster öffnet sich mit einer Dropdown-Liste und Sie sollten die snake_case-Version des Textes in der Liste sehen (Sie können das Fenster öffnen und mit Tastenanschlägen zum snake_case wechseln, damit es ziemlich schnell geht).
quelle