【问题标题】:Preserve Case Replace in Sublime Text 3在 Sublime Text 3 中保留大小写替换
【发布时间】:2013-12-17 04:59:48
【问题描述】:

从对此进行了一些谷歌搜索后,似乎可以或至少可以使用 Sublime Text 执行此操作。我在查找和替换窗格中看到了多个对保留案例按钮的引用,该按钮看起来像是两个相互叠加的圆角正方形。

但是,我在我的 Sublime Text 3 版本(在 Mavericks 上)中根本找不到这个...

我还检查了首选项以查看是否以某种方式关闭了此选项,但我能找到的唯一参考是:

{ "keys": ["super+alt+a"], "command": "toggle_preserve_case", "context":
    [
        { "key": "setting.is_widget", "operator": "equal", "operand": true }
    ]
},

在默认键映射文件中...

这是我的查找和替换窗格的屏幕截图:

【问题讨论】:

  • 这在构建 3059 和构建 2221(在小牛队)中对我来说也是缺失的。我不确定保留案例选项何时消失。
  • @WizardofOgz 您是否进入“查找”菜单并选择“替换...”?它应该在那里。我没有意识到它不是仅在文件中的“在文件中查找”选项中的选项。
  • @WizardofOgz 没有问题!很高兴帮助:)

标签: replace sublimetext3


【解决方案1】:

在最新的 Sublime 3 版本 (3059) 中,替换对话框中有一个专用图标来保留大小写。当切换它并使用屏幕截图中显示的输入时,以下输入字符串将转换为以下输出:

输入:“Xhis is my xest。”

输出:“这是我的测试。”

【讨论】:

  • 据我所见,对于试图在重命名变量时保留大小写的程序员来说,它并不能很好地工作。我认为它只是在匹配中的每个索引处保留大小写,而不是做一些更聪明的事情,比如在骆驼大小写、烤肉串大小写等中查找单词边界。
  • FWIW 这仅存在于一个文件中搜索:您不能对多个文件执行此操作
  • @SCdF 你知道为什么不能有多个文件吗?这正是我需要的!
  • 请注意(正如 SCdF 所提到的)这仅适用于单个文件——在替换多个文件时它不是一个选项。让它在多个文件上工作会很好......
【解决方案2】:

这并不完全是对您将近 1.5 年的问题的答案,但也许您(或其他人)发现以下有用:

我编写了一个 ST 包,其中包含在编辑多个选择时保留案例的功能。它甚至可以保留带有诸如snake_case、dash-case、dot.case 等分隔符的案例。

它被称为MultiEditUtils。在这里您可以看到所描述的功能。

【讨论】:

  • 太棒了!如果这只是搜索/替换为保留大小写的默认行为。
  • 太棒了,你成就了我的一天。
  • 谁能带来你申请的具体样本。因为我个人无法想象如何在实际项目中使用它。
  • @tav 考虑一个您想要重命名的实体(例如,“用户”)的域特定名称(例如,改名为“员工”)。现在,您可能有多个包含该名称的标识符(例如,“userID”变量、“UserManager”类和“USER_GREETING”常量)。由于不同的大小写(变量、类和常量通常有其他大小写约定),如果您打算重命名变量(为“employeeID”、“EmployeeManager”和“EMPLOYEE_GREETING”),则不能诉诸简单的搜索和替换。这就是保留功能有帮助的地方。
  • 天哪,谢谢...直到现在我才知道自己有多需要这个!
【解决方案3】:

看起来可能是 ST3 中的一个小故障导致了混乱。

我注意到替换的快捷键组合由于某种原因从未起作用,并且从查找菜单中选择替换打开了文件窗格中的查找,而不是常规的查找和替换窗格(保留大小写按钮所在的位置) .我在安装 ST3 的苏打主题后才意识到这一点,它在屏幕截图中显示了保存案例按钮。

奇怪的是,当我恢复到默认主题时,查找 > 替换菜单现在可以正常工作,我发现键盘快捷键被另一个程序占用,这就是它不起作用的原因......

【讨论】:

    猜你喜欢
    • 2010-10-21
    • 2022-01-16
    • 2010-09-26
    • 1970-01-01
    • 2013-09-26
    • 2015-05-26
    • 2013-09-25
    • 1970-01-01
    • 2013-09-17
    相关资源
    最近更新 更多