改变单词边界intellij

时间:2016-05-06 06:47:58

标签: android-studio intellij-idea intellij-14

有没有办法改变IntelliJ中的单词边界,这样当我使用"移动插入符号到下一个单词"命令,标点符号被忽略? (即括号句号等等。)每次我查看这些内容时,我似乎都会找到关于如何编写Regex的教程。我可以在这看到为什么在这里有用,但我在哪里实际更改定义单词边界的正则表达式?

示例,一步一步:

目前的功能:

  1. | foo.bar
  2. FOO |的.bar
  3. FOO |。酒吧
  4. foo.bar |
  5. 所需的功能:

    1. | foo.bar
    2. FOO |。酒吧
    3. foo.bar |

1 个答案:

答案 0 :(得分:3)

据我所知,没有设置可以修改此行为。如下所述,搜索IntelliJ IDEA源代码似乎证实了这一点。要获得您想要的行为,您需要open a feature request,或者编写插件来执行此操作。

来自Source Code

“将Caret移到下一个单词”操作是通过NextWordAction类完成的。该操作使用NextPrevWordHandler来完成工作。 NextPrevWordHandler只有三个布尔选项:

  1. withSelection
  2. inDifferentHumpMode
  3. 对于使用此处理程序的各种操作,这些布尔值设置为不同的排列:

    • NextWordAction
    • NextWordInDifferentHumpsModeAction
    • NextWordInDifferentHumpsModeWithSelectionAction
    • NextWordWithSelectionAction
    • PreviousWordAction
    • PreviousWordInDifferentHumpsModeAction
    • PreviousWordInDifferentHumpsModeWithSelectionAction
    • PreviousWordWithSelectionAction

    NextPrevWordHandler依次调用EditorActionUtil.moveCaretToNextWord(...)。同样,它不采用或引用任何类型的单词边界设置。因此,似乎没有办法修改行为以做你想做的事。