我猜这也叫做 Word Highlighting,我不确定。我使用 Javascript(一个.js
文件)并在 Notepad++(v7.3.3)中给出以下两行:
myFuncA("param");
myFuncB('param');
使用我的 Notepad++,如果我在第一行双击 param,它会得到param
。在第二行,它会得到'param'
。虽然这对于英语来说可能没问题,但我在这里用 Javascript 编写,我不喜欢这种行为。它会阻止智能突出显示正常工作。除非所有内容都用双引号引起来。这并不总是可行的,或者它只是一个大麻烦。我制作了一个糟糕编程的例子作为一个简单的一行示例:
x.innerHTML = "<span class='foo bar' onclick='this.className=\"bar\"'>foo bar</span>";
或者
x.innerHTML = '<span class="foo bar" onclick="this.className=\'bar\'">foo bar</span>';
如果我双击foo
或,bar
它不会智能地突出显示所有这些。因为如果您双击并突出显示旁边的单词,'
它将选择'
而不查找其他单词,反之亦然。
(尽管\"bar\"
在第二个例子中使用确实有效。)
有什么方法可以调整双击的突出显示方式,以便在上面的两个示例中,如果您单击任何一个foo
或bar
它都不会突出显示'
?(因此,智能突出显示将突出显示它们全部)
另外,我正在使用 Obsidian 主题。但是,快速更改回默认主题并不能解决问题。
太平洋标准时间
答案1
我也遇到了这个问题。我的解决方案需要“NppExec”插件。在 NppExec 控制台中使用此命令:
sci_sendmsg 2077 0 @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_"
您将无法双击选择“can't”等单词,但在编写代码时这种情况非常罕见。此外,我相信这会影响其他单词匹配功能。
更完整的解决方案:
- 将该代码保存为“StartupScript”。
- 转到 NppExec“高级选项”。
- 将“Notepad++ 启动时执行此脚本”下拉菜单设置为“StartupScript”。
专业提示:您可以将其他字符添加到要包含在匹配中的字符串中,例如$
在 PHP 中选择整个变量名。
编辑:我刚刚意识到这个脚本只在当前文档上运行,因此双击其他文档会出现不必要的行为。当我找到将其应用于所有文档的方法时,我会更新我的答案。
答案2
我刚刚测试了它,它在 Notepad++ 中运行良好。您使用的文件的文件扩展名是什么?哪个版本的 Notepad++(我使用的是 7.2.2)