You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何让Visual Studio 2017在滚动条中高亮作用域内选中的变量?

如何让Visual Studio 2017在滚动条中高亮作用域内的选中变量

我完全懂你要的效果——不是那种全局高亮所有拼写相同单词的粗糙功能,而是像VS Code那样:选中某个变量后,滚动条里只标记这个变量在当前作用域内的所有实例,自动过滤掉作用域外的同名变量,而且只针对变量,不会随便高亮方法名、类名这类无关标识符。

下面给你几个精准匹配需求的解决方案:

方案1:优化Match Margin扩展(解决原有工具的缺陷)

你提到Match Margin效果接近但有问题,其实它可以通过配置来贴合你的需求:

  • 打开VS2017的工具 > 选项 > Match Margin
  • 在「Highlight Types」里,只勾选「Variables」,这样就不会高亮方法、类这些非目标标识符了
  • 找到「Scope Filtering」选项,勾选「Respect Declaration Scope」,从此它只会高亮当前变量作用域内的实例,不会跨作用域标记同名变量
  • 最后确认「Scrollbar Markers」处于开启状态,滚动条上就会显示对应的高亮标记

这个方案能最大化利用你已经熟悉的工具,调整后完全解决你吐槽的两个痛点:不局限变量、忽略作用域。

方案2:使用「Variable Highlighter」专用扩展

如果调整Match Margin后还是不满意,可以试试专门针对变量优化的扩展:

  1. 打开VS2017的扩展和更新,搜索「Variable Highlighter」并安装
  2. 重启VS后,选中任意变量,它会自动高亮该变量在当前作用域内的所有实例,同时在滚动条上生成精准的标记
  3. 你还能通过工具 > 选项 > Variable Highlighter自定义高亮颜色、滚动条标记样式等细节

这个扩展天生就专注于变量的作用域高亮,完全贴合你要的VS Code风格效果。

方案3:VS原生功能的有限替代(适合轻需求)

VS2017原生有「高亮引用」功能,默认不会在滚动条显示标记,但可以手动开启:

  • 打开工具 > 选项 > 文本编辑器 > 常规,勾选「Highlight references to the symbol under cursor」
  • 再转到文本编辑器 > 所有语言 > 滚动条,找到「Show annotations over vertical scroll bar」并勾选「References」

不过要注意,这个原生功能是光标悬停就触发高亮,且会覆盖所有符号(包括方法、类),如果能接受这两个小差异,也可以作为备选。

总结下来,最推荐方案1(优化Match Margin)或方案2(Variable Highlighter),这两个都能完美实现你要的「选中变量后,滚动条高亮其作用域内所有实例」的效果。

内容的提问来源于stack exchange,提问作者Kagemand Andersen

火山引擎 最新活动