Eu uso um plugin chamado String Manipulation que tem os recursos que você está procurando (e mais).
Selecione historyOfPresentIllness
e pressione Alt+ Mpara abrir o menu de plug-ins e pressione:
- 5- Para snake_case (ou para camelCase) que converte para
history_of_present_illness
- 6 - Para maiúsculas e minúsculas (ou para snake_case) que converte para
history-of-present-illness
Para tornar isso mais fácil, você pode configurar um atalho em File | Settings | Keymap
.
Uma pesquisa rápida no repositório de plug-ins para "camel" mostrou um plug-in chamado
CamelCase que faz exatamente o que você está procurando com
SHIFT+
ALT+
Ualternando entre vários formatos:
historyOfPresentIllness
-> history_of_present_illness
-> HISTORY_OF_PRESENT_ILLNESS
-> HistoryOfPresentIllness
->historyOfPresentIllness
No entanto, depois de experimentá-lo, parece haver um bug com este plugin que o impede de desfazer qualquer alteração. Atualização: parece que esse bug já foi corrigido há algum tempo, então o plugin CamelCase é provavelmente o caminho a percorrer.
Edit > Macros > Start recording macro
e, em seguida, adicionar um mapeamento de teclas simples para sua macroSettings > Keymap > Macros > YourMacro (right-click > Add Keyboard Shortcut)
5
paraSCREAMING_SNAKE_CASE
eJ
é paraTrim all spaces
. Usando Mac OS X 10.10.5, PhpStorm 10.0.1, String Manipulation 4.1.135.445.1.Pressione muito simples
Clr + F
para abrir o painel Localizar / Substituir e marque [✓] Cópia de regex para regexEncontrar:
[_]{1,1}([a-z])
Substituir:
\U$1
Pressione o botão [Substituir tudo], Aproveite
Obrigado @piotrek por
_some_awe_var
para_someAweVar
Use Localizar:
(\w)[_]{1,1}([a-z])
Substituir:
$1\U$2
fonte
([A-Z]{1,1})
e substituir por_\l$1
, com as opções Regex e Match case alternadas._
e isso os fará começar com letras maiúsculas.(\w)[_]{1,1}([a-z])
Substituir:$1\U$2
De snake_case para CamelCase
(\w)[_]{1,1}([a-z])
$1\U$2
De CamelCase para snake_case:
([A-Z])
\_\L$1
fonte
A resposta acima é quase perfeita, mas observe que ela mudará variáveis como
_something
outhis._something
paraSomething
ethis.Something
. Eu não queria isso no meu caso, já que o principal _ era usado para denotar variáveis "privadas" (projeto JS antigo). Eu modifiquei ligeiramente esta abordagem:Encontre: (\ w) [_] {1,1} ([az])
Substituir: $ 1 \ U $ 2
Isso garantirá que apenas as variáveis com
_
está no meio serão afetadas.fonte
Se você concordar com o uso de refatoração de PyCharm, execute a ferramenta "Renomear" (Refatorar> Renomear). A janela aparece com a lista suspensa e você deve ver a versão snake_case do texto na lista (você pode abrir a janela e alternar para snake_case pressionando as teclas para que seja bem rápido).
fonte