Notepad++:如何阻止双击突出显示单引号?

Notepad++:如何阻止双击突出显示单引号?

我猜这也叫做 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\"在第二个例子中使用确实有效。)

有什么方法可以调整双击的突出显示方式,以便在上面的两个示例中,如果您单击任何一个foobar它都不会突出显示'?(因此,智能突出显示将突出显示它们全部)

另外,我正在使用 Obsidian 主题。但是,快速更改回默认主题并不能解决问题。

太平洋标准时间

答案1

我也遇到了这个问题。我的解决方案需要“NppExec”插件。在 NppExec 控制台中使用此命令:

sci_sendmsg 2077  0 @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_"

您将无法双击选择“can't”等单词,但在编写代码时这种情况非常罕见。此外,我相信这会影响其他单词匹配功能。

更完整的解决方案:

  • 将该代码保存为“StartupScript”。
  • 转到 NppExec“高级选项”。
  • 将“Notepad++ 启动时执行此脚本”下拉菜单设置为“StartupScript”。

专业提示:您可以将其他字符添加到要包含在匹配中的字符串中,例如$在 PHP 中选择整个变量名。

编辑:我刚刚意识到这个脚本只在当前文档上运行,因此双击其他文档会出现不必要的行为。当我找到将其应用于所有文档的方法时,我会更新我的答案。

答案2

我刚刚测试了它,它在 Notepad++ 中运行良好。您使用的文件的文件扩展名是什么?哪个版本的 Notepad++(我使用的是 7.2.2)

相关内容