【问题标题】:How to select variables (not text) with the same name?如何选择具有相同名称的变量(不是文本)?
【发布时间】:2012-10-22 11:23:57
【问题描述】:

在选择变量f时,编辑器突出显示变量的其他出现。到目前为止一切顺利,但是当尝试使用Ctrl+D 将它们添加到选择列表时,它还会添加f,因为它作为常规文本出现在代码中。我可以用Ctrl+K 跳过这个,但是如果编辑器已经将f 识别为变量,那么它肯定也可以只选择变量吗?该选项不在菜单中。

使用这个 JavaScript sn-p。

f=function(){};
f();

在选择第一个f时,它还突出显示f(),但不是f 987654331 @
当使用Ctrl+D 进行多选时,它确实会选择它。

【问题讨论】:

    标签: sublimetext2


    【解决方案1】:

    It's a bug.帖子也有解决方法。

    不要选择变量,只需将光标放在它的左边,然后按Ctrl+D。这也将选择它,但在随后的Ctrl+D 按下时仅选择其他变量(或编辑器根据单词边界识别为变量的变量)。

    【讨论】:

      【解决方案2】:

      您可以修改 word_separators 选项以不包括您的变量前缀(即 PHP 为 $),因此当您双击变量名称时,它也会选择 $

      此选项位于您的Default 文件夹中的文件Preferences.sublime-settings 中。我建议将修改后的设置添加到User 文件夹中的Preferences.sublime-settings,而不是更改默认设置。

      "word_separators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?"
      


      编辑

      很遗憾,目前无法在特定范围内进行查找和替换。该问题已在here 提出,您可以在Sublime's UserEcho forum 上将其作为功能请求投票。

      【讨论】:

      • 这是在 JavaScript 中,所以变量被命名为f。编辑器确实知道它是一个变量。我将添加一个代码sn-p来更好地解释它。
      • 在这种情况下,不幸的是没有插件是不可能的,而且似乎还没有为此目的存在。不过,他们的论坛上有一个开放的功能请求(请参阅我的编辑),所以我建议在那里投票。
      • 嗯,所以它并不真正了解变量(因为它不解析代码),但为什么它只 highlight 适当的fs ,但在使用Ctrl+D 时,还选择function 中的f?如果您尝试使用 JavaScript 语法编写代码 sn-p,您会立即注意到。如果这还没有实现,那应该很容易做到。
      • 我明白你的意思;我确信使用插件是可能的,但我确实想知道为什么 ST2 论坛上的好人还没有想出一个。与此同时,一个小规模的解决方法可能是正则表达式查找和替换,即\bf\b > g
      • RegReplace 插件实际上可以通过 scope_filter 选项完成您想要的操作。
      猜你喜欢
      • 2020-03-19
      • 2023-03-12
      • 2011-04-14
      • 1970-01-01
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 1970-01-01
      相关资源
      最近更新 更多