在Intellij中,如何在驼峰大小写和下划线间隔之间切换?

时间:2013-06-27 18:12:49

标签: java coding-style intellij-idea

在我的公司,我们有两种不同的java vs sql样式指南。在java中我有一个名为historyOfPresentIllness的字段,当我编写sql时,我想将其命名为history_of_present_illness。当我突出显示短语时,是否有键盘快捷键从一个切换到另一个?或者也许是一个可以做到这一点的插件?

在我问的时候,我也可以问一下是否有办法将historyOfPresentIllness转为history-of-present-illness。那是从java到clojure风格。

5 个答案:

答案 0 :(得分:142)

我使用名为String Manipulation的插件,它具有您正在寻找的功能(以及更多)。

选择historyOfPresentIllness并按 Alt + M 以显示插件菜单,然后按:

  • 5 - to snake_case(或camelCase),转换为history_of_present_illness
  • 6 - 连字符(或以snake_case为单位),转换为history-of-present-illness

为方便起见,您可以在File | Settings | Keymap设置快捷方式。

<小时/> 快速搜索“camel”的插件存储库显示了一个名为CamelCase的插件,它完全按照 SHIFT + ALT + U 通过在各种格式之间切换:

historyOfPresentIllness - &gt; history_of_present_illness - &gt; HISTORY_OF_PRESENT_ILLNESS - &gt; HistoryOfPresentIllness - &gt; historyOfPresentIllness

但是,在尝试之后,此插件似乎存在一个错误,导致您无法撤消任何更改。 更新:此错误已修复现在有一段时间了,所以CamelCase插件可能就是这样。

答案 1 :(得分:23)

非常简单地按Clr + F打开查找/替换面板并检查 [✓]正则表达式复制过去的正则表达式

查找: [_]{1,1}([a-z])

替换: \U$1

按[全部替换]按钮,欣赏

答案 2 :(得分:1)

以上答案几乎是完美的,但请注意,它将把_somethingthis._something之类的变量更改为Somethingthis.Something。在我的情况下,我不希望这样,因为前导_表示“私有”变量(旧JS项目)。我对这种方法做了一些修改:

查找:(\ w)[_] {1,1}([a-z])

替换: $ 1 \ U $ 2

这将确保仅影响_位于中间的变量。

答案 3 :(得分:0)

如果您对PyCharm也可以重构用法没问题,请启动“重命名”工具(“重构”>“重命名”)。窗口随即弹出,并带有下拉列表,您应该在列表中看到该文本的snake_case版本(您可以打开窗口并通过击键切换到snake_case,这样可以非常快)。

答案 4 :(得分:0)

从snake_case到CamelCase

  • 查找:<form action="/", method='post', enctype='multipart/form-data'> <input type="file" class='filepond' name='file' multiple /> </form>
  • 替换:(\w)[_]{1,1}([a-z])
  • 设置:
    • 匹配案例
    • 正则表达式

从CamelCase到snake_case:

  • 查找:$1\U$2
  • 替换:([A-Z])
  • 设置:
    • 匹配案例
    • 正则表达式