更改单词边界 intellij

change word boundary intellij

有什么方法可以改变 IntelliJ 中的单词边界,以便在我使用 "move caret to next word" 命令时忽略标点符号吗? (即括号、句号、引号等等)每次我查找这个时,我似乎都能找到关于如何编写 Regex 的教程。我明白为什么它在这里会有用,但实际上我在哪里更改定义单词边界的正则表达式?

示例,一步一步:

当前功能:

  1. |foo.bar
  2. foo|.bar
  3. foo.|bar
  4. foo.bar|

需要的功能:

  1. |foo.bar
  2. foo.|bar
  3. foo.bar|

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

来自Source Code:

"Move Caret to the next word" 操作是通过 NextWordAction class.That action uses the NextPrevWordHandler 完成的。 NextPrevWordHandler 只有三个布尔选项:

  1. 下一个
  2. withSelection
  3. inDifferentHumpMode

这些布尔值针对使用此处理程序的各种操作以不同的排列设置:

  • NextWordAction
  • NextWordInDifferentHumpsModeAction
  • NextWordInDifferentHumpsModeWithSelectionAction
  • NextWordWithSelectionAction
  • 上一个WordAction
  • PreviousWordInDifferentHumpsModeAction
  • PreviousWordInDifferentHumpsModeWithSelectionAction
  • PreviousWordWithSelectionAction

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