我知道 sublime text 将源代码分为不同的范围。特别用于语法高亮。(您可以使用 Ctrl+Alt+Shift P 或各种插件显示当前范围)
但是你也可以搜索/在一个范围内吗?
我知道 sublime text 将源代码分为不同的范围。特别用于语法高亮。(您可以使用 Ctrl+Alt+Shift P 或各种插件显示当前范围)
但是你也可以搜索/在一个范围内吗?
不幸的是,ST2 或 ST3 没有内置功能允许将搜索限制在特定范围内。如果您了解 Python,那么使用函数 编写插件应该不难,sublime.View.find()
并且sublime.View.find_all()
通过 过滤结果sublime.View.scope_name()
,尽管您需要将Region
返回的 by折叠find()
到一个点以传递给scope_name()
.
如果您不是插件编写类型,您可能需要查看ScopeHunter
和/或ScopeAlways
插件,可通过Package Control获得。我将 ScopeHunter 功能绑定到一个组合键,该组合键会弹出一个具有当前范围的面板:
[
// ScopeHunter
{ "keys": ["ctrl+alt+shift+s"], "command": "get_selection_scope" }
]
键盘密集程度稍低的方法是使用 ScopeAlways,它在状态栏中显示当前范围:
通过这种方式,您可以浏览查找结果并立即查看它们属于哪个范围。要设置它,一旦你从 Package Control 安装了插件,打开Preferences -> Package Settings -> ScopeAlways -> Settings - User
并添加以下内容以在 Sublime 启动时启动它:
{
"start_on": true
}
保存文件,重新启动 Sublime,然后享受所有范围的好处。