是否存在可高亮任意变量或词汇的PowerShell ISE插件?类似Sublime Text功能
PowerShell ISE 实现全匹配高亮的方案
嘿,刚好我研究过这个需求,给你几个靠谱的实现方式:
ISE Scripting Geeks 扩展:这个扩展里自带了「Highlight All Occurrences」功能,安装后只要你选中任意变量或词汇,它会自动把文档里所有相同内容高亮显示,效果和Sublime Text几乎一致。安装也很简单,直接在PowerShell ISE的「Add-ons」菜单里打开扩展库,搜索就能找到并安装。
自定义脚本实现:要是不想装第三方插件,也可以自己写个小脚本绑定快捷键来实现。给你个简单的思路示例:
# 绑定Ctrl+Shift+H快捷键触发全匹配高亮 $psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Highlight All", { $selectedText = $psISE.CurrentFile.Editor.SelectedText if (-not [string]::IsNullOrEmpty($selectedText)) { # 清除之前的高亮标记 $psISE.CurrentFile.Editor.ClearAllHighlights() # 遍历文档找到所有匹配项并高亮 $startPos = 0 $textLength = $psISE.CurrentFile.Editor.Text.Length while ($startPos -lt $textLength) { $matchIndex = $psISE.CurrentFile.Editor.Text.IndexOf($selectedText, $startPos) if ($matchIndex -eq -1) { break } # 设置黄色高亮,你也可以换成其他颜色 $psISE.CurrentFile.Editor.SetHighlight($matchIndex, $selectedText.Length, [System.Windows.Media.Colors]::Yellow) $startPos = $matchIndex + $selectedText.Length } } }, "Ctrl+Shift+H")把这段脚本放到你的PowerShell ISE启动脚本(也就是
$profile对应的文件)里,每次打开ISE就能用这个快捷键实现高亮了。带高亮功能的主题扩展:部分自定义主题扩展也附带了全匹配高亮的特性,比如一些热门主题会自动把选中内容的所有匹配项高亮显示,你可以在扩展库找评价不错的主题试试,还能顺带美化ISE的界面。
虽然PowerShell ISE的扩展生态不如Sublime Text那么丰富,但上面这几个方案完全能满足你的需求啦。
内容的提问来源于stack exchange,提问作者Shahboz
相关产品推荐
相关产品推荐

