在我的公司,我们有两个不同的java和sql风格指南。在java中,我有一个名为historyOfPresentIllness
的字段,当我编写sql时,我想将其命名为history_of_present_illness
。当我突出显示短语时,有没有键盘快捷键可以从一个切换到另一个?或者可能是一个插件可以做到这一点?
在我问的时候,我不妨问一下是否有办法将historyOfPresentIllness
转换为history-of-present-illness
。这是从java到clojure的风格。
有两个插件提供此功能:
我使用了一个名为String Manipulation的插件,它可以满足您的需求(甚至更多)。
选择historyOfPresentIllness
并按Alt+option+M调出插件菜单,然后按:
-
5-到转换为
history_of_present_illness
的snake_case(或camelCase) -
6-到连字符大小写(或到snake_case)转换为
history-of-present-illness
为了更简单,您可以在File | Settings | Keymap
设置一个快捷方式。
还有CamelCase插件。
SHIFT+Alt/option+U在格式之间切换选择:
historyOfPresentIllness
->history_of_present_illness
->HISTORY_OF_PRESENT_ILLNESS
->HistoryOfPresentIllness
->historyOfPresentIllness
您也可以撤消您的更改(现在插件中的一个错误已经修复)。
非常简单地按Clr + F
打开查找/替换面板并检查[✓]Regex复制过去的Regex
查找:[_]{1,1}([a-z])
替换:U$1
按下[全部更换]按钮,享受
感谢@piotrek提供_some_awe_var
到_someAweVar
使用查找:(w)[_]{1,1}([a-z])
替换:$1U$2
从snake_case到CamelCase
- 查找:
(w)[_]{1,1}([a-z])
- 替换:
$1U$2
- 设置:
- 区分大小写
- Regex
从CamelCase到snake_case:
- 查找:
([A-Z])
- 替换:
_L$1
- 设置:
- 区分大小写
- Regex
如果您还可以使用PyCharm重构,请启动"重命名"工具(Refactor>Rename)。该窗口会弹出下拉列表,您应该会在列表中看到文本的snake_case版本(您可以打开窗口并通过按键切换到snake_cse,这样可以非常快)。
上面的答案几乎是完美的,但请注意,它会将_something
或this._something
等变量更改为Something
和this.Something
。我不希望在我的例子中出现这种情况,因为前导_被用来表示"私有"变量(旧的JS项目)。我稍微修改了这个方法:
查找:(\w)[_]{1,1}([a-z])
替换:$1\U$2
这将确保只有_
位于中间的变量才会受到影响。