在 Notepad++ 中智能突出显示时显示出现次数
Posted
技术标签:
【中文标题】在 Notepad++ 中智能突出显示时显示出现次数【英文标题】:Show count of occurrences when smart highlighting in Notepad++ 【发布时间】:2015-03-03 20:04:59 【问题描述】:是否可以显示智能突出显示的单词的出现次数?我的意思是当你双击一个单词时。
在 Matlab 中,例如智能突出显示是通过让光标触摸一个单词并在工具栏中 立即 显示例如 4 usages of "weight" found
来激活的。
搜索单词/短语会为您提供相同的信息,但是将计数直接显示在某处怎么样?
顺便说一句:智能突出显示的激活方式与双击不同吗?
【问题讨论】:
【参考方案1】:您可以通过其他方式获取单词或匹配项的计数。
普通的Find窗口有一个Count按钮。如果按下它,它将在查找窗口的状态栏中显示找到的项目总数。
查找窗口的标记选项卡还显示按下全部标记时找到的项目数。此外,通过这种搜索找到的项目会永久突出显示。
【讨论】:
不,这不是@embert 要求的。查找不会立即告诉您出现的次数,只有在点击几下后才会告诉您。我将使用此功能检查我的代码中是否不再使用某些变量声明。 @HenkWiersema 你读过这个答案的第一句话吗?它在哪里说“...其他方式”?你读过关于“...标记所有被按下”的第二句话吗?这不是点击几下。您对超过 3 年的答案发表评论的意义何在?【参考方案2】:找到答案here。
下载并安装python脚本插件 插件 --> Python 脚本 --> 新脚本 将其命名为SelectedTextCountIntoStatusBar.py
粘贴,保存并退出:
def callback_sci_UPDATEUI(args):
if args['updated'] & UPDATE.SELECTION:
matches = []
if editor.getTextLength() < 100000: # don't search "big" files
if editor.getSelections() == 1 and not editor.getSelectionEmpty():
try:
editor.research(r'\Q' + editor.getSelText() + r'\E', lambda m: matches.append(1))
except:
matches = []
l = len(matches)
notepad.setStatusBar(STATUSBARSECTION.DOCTYPE, ' ' if l == 0 else ' occurrence(s) of selected text'.format(l))
editor.callback(callback_sci_UPDATEUI, [SCINTILLANOTIFICATION.UPDATEUI])
【讨论】:
哇,这个插件好用。【参考方案3】:到目前为止,Notepad++ 不显示智能突出显示的计数(即通过双击一次出现突出显示单词)。
...但是将计数直接显示在某个地方怎么样?
作为替代方案:
打开查找窗口 (Search > Find...
)
导航到Mark
选项卡
在Find What:
输入区输入单词
点击Mark All
这将标记所有匹配项,并在状态栏中显示匹配计数。
顺便说一句:智能突出显示可以以不同的方式激活吗? 双击?
还有另一种使用Style Token
进行智能突出显示的替代方法,可从右键单击上下文菜单中获得。观看下面的动画教程:
【讨论】:
以上是关于在 Notepad++ 中智能突出显示时显示出现次数的主要内容,如果未能解决你的问题,请参考以下文章
Forge Viewer - 我们可以在加载的模型上进行选择/突出显示并保存在数据库中,以便我们可以在下次用户加载时显示该选择吗?