At my company we have two different style guides for java vs sql. In java I have a field named historyOfPresentIllness
and when i write the sql, I want to name it
I use a plugin called String Manipulation which has the capabilities you're looking for (and more).
Select historyOfPresentIllness
and press Alt+M to bring up the plugin menu, then press:
history_of_present_illness
history-of-present-illness
To make this easier, you could set up a shortcut at File | Settings | Keymap
.
historyOfPresentIllness
--> history_of_present_illness
--> HISTORY_OF_PRESENT_ILLNESS
--> HistoryOfPresentIllness
--> historyOfPresentIllness
However, after trying it out, there seems to be a bug with this plugin which prevents you from undoing any changes. Update: it appears this bug has been fixed for a while now, so the CamelCase plugin is probably the way to go.
(\w)[_]{1,1}([a-z])
$1\U$2
([A-Z])
\_\L$1
Very simple press Clr + F
to open Find/Replace panel and check [✓] Regex copy past regex
Find: [_]{1,1}([a-z])
Replace: \U$1
Press [Replace all] button, Enjoy
Thanks @piotrek for _some_awe_var
to _someAweVar
Use Find: (\w)[_]{1,1}([a-z])
Replace: $1\U$2
Answer above is almost perfect, but note that it will change variables like _something
or this._something
into Something
and this.Something
. I didn't want that in my case, as leading _ was used to denote "private" variables (old JS project). I slightly modified this approach:
Find: (\w)[_]{1,1}([a-z])
Replace: $1\U$2
This will ensure that only variables with _
is in the middle will be affected.
If you are OK with PyCharm also refactoring usages, launch the "Rename" tool (Refactor > Rename). The window pops up with drop down list and you should see the snake_case version of the text in the list (you can open the window and switch to the snake_case with key-strokes so it can be pretty fast).