Expand Selection to Scope 能根据语法作用域智能扩展选区,提升编辑效率。将光标置于代码中,按 Ctrl+Shift+Space(或 Cmd+Shift+Space)逐步选中变量、字符串、函数体等结构,常用于重命名、批量编辑和重构。结合多光标和括号、引号选择命令,可快速操作 HTML、JS 等结构化代码,是 Sublime Text 中高效编码的实用功能。

在 Sublime Text 中,Expand Selection to Scope 是一个非常实用的智能语义选择功能,它能帮助你快速选中当前光标所在“语法作用域”(scope)的完整代码块。这个功能让你无需手动拖动选择,就能精准地选中变量、字符串、函数体、标签等结构化内容。
什么是“Scope”?
在 Sublime Text 的语法高亮系统中,每一段代码都会被赋予一个“作用域”(scope),比如:
- string.quoted.double —— 双引号字符串
- meta.function.body —— 函数体
- entity.name.function —— 函数名
- source.css.property-value —— CSS 属性值
Expand Selection to Scope 就是根据这些语法层级,逐步向外扩展选区,直到包裹整个当前 scope。
如何使用 Expand Selection to Scope?
默认快捷键是:Ctrl+Shift+Space(Windows/Linux)或 Cmd+Shift+Space(macOS)。
使用步骤:
- 将光标放在你想选择的内容内部,比如一个字符串中间、函数参数中、HTML 标签内。
- 按下快捷键,Sublime 会自动选中当前最小语法单元。
- 再次按下,会尝试向外扩展到更大的语法结构(如从参数到整个函数调用)。
例如,在以下 JavaScript 代码中:
console.log("Hello, ${name}!");
光标在 name 上时:
- 第一次 Ctrl+Shift+Space:选中
name - 第二次:可能选中
${name} - 第三次:选中整个字符串
"Hello, ${name}!" - 第四次:选中整个函数调用
console.log("Hello, ${name}!")
结合其他选择命令提升效率
这个功能常和其他选择命令配合使用:
- Expand Selection to Quotes:快速选中引号内容(适用于字符串)
- Expand Selection to Brackets:选中括号包裹的内容(如 ()、[]、{})
- Expand Selection to Word:选中当前单词
你可以先用 Expand Selection to Scope 快速定位结构,再配合多光标(Ctrl+D)批量修改同类元素。
实际应用场景
- 重命名变量:光标放在变量名上,用此功能选中整个标识符,再 Ctrl+D 跳到下一个同名变量批量编辑。
- 提取字符串:快速选中所有字符串内容,复制或替换。
- 重构函数调用:选中整个调用表达式,剪切或封装。
- HTML/XML 编辑:光标在标签内容中,逐步扩展可选中标签对,方便移动或包裹。
基本上就这些。掌握 Expand Selection to Scope 能显著提升你在 Sublime Text 中的编辑效率,尤其适合处理结构清晰的代码。它不复杂但容易忽略,一旦习惯,就会成为日常编码中的得力助手。










