我已经完成了以下内容,但这不是这里的问题。
我正在使用 notepad++ 在 python 中编程,并应用了 Deep Black 主题,其中具有黑色背景和白色文本颜色。
在键入函数时,它会在具有白色背景的工具提示中显示函数语法,对比与记事本的黑色背景
。我已经在 Style Configurator 中搜索过,但没有找到。
如何更改工具提示的背景颜色?
Notepad++ 使用 Scintilla 作为其编辑器组件。 calltip 功能直接来自 scintilla。对于在 Notepad++ 的 gui 中没有直接配置选项的 scintilla 功能(calltip 样式似乎是这样的功能),您需要一种方法来 send messages to Scintilla。
一种方法(也是我知道的唯一一种方法,除了编写插件)是使用 NppExec 插件。它提供了一个
SCI_SENDMSG
命令。 scintilla 网站 提供有关每条可能消息的详细文档。对于您的用例,它是这样说的:
调用提示是显示函数参数的小窗口,在用户键入函数名称后显示。它们通常使用 STYLE_DEFAULT 定义的字体名称、大小和字符集来显示字符。您可以选择使用 STYLE_CALLTIP 来定义面名、大小、前景色和背景色以及带有 SCI_CALLTIPUSESTYLE 的字符集。这也启用了对 Tab 字符的支持。调用提示和自动完成列表之间存在一些交互,因为显示调用提示会取消任何活动的自动完成列表,反之亦然。
因此我们需要发送
SCI_CALLTIPUSESTYLE
消息并且(继续在网站上阅读)我们可以使用SCI_CALLTIPSETBACK
和SCI_CALLTIPSETFORE
配置前景和背景颜色。
所以要通过使用 NppExec 向 Scintilla 编辑器组件发送消息来设置调用提示的颜色,您需要这样做:
使用 PluginManager 或从 PluginCentral 安装 NppExec。 NppExec zip 文件包含 dll 和一些子目录。安装/升级到 Notepad++ 插件目录时,请注意在插件目录下创建子目录 NppExec(只需将文件解压缩到插件目录)。 NppExec 目录包含文件
Scintilla.h
,其中包含可能消息的所有定义。store 这些行作为 NppExec 脚本(插件 -> NppExec -> 执行...,输入以下行并选择保存,例如作为 SetCallTipStlye):
// use CALLTIPSTYLE instead DEFAULT
SCI_SENDMSG SCI_CALLTIPUSESTYLE 0
// background to black ( 0 )
SCI_SENDMSG SCI_CALLTIPSETBACK 0
// foreground to white ( 0xffffff )
SCI_SENDMSG SCI_CALLTIPSETFORE 0xffffff
用OK执行脚本
现在您的调用提示窗口应该是黑底白字,您可能想通过更改参数来采用颜色。
如果一切如您所愿,那么插件 -> NppExec -> 高级选项会在配置对话框的右上角区域提供选项Notepad++ 启动时执行此脚本。选择下面的脚本名称 你保存的行(例如 SetCallTipStlye)
唉,我一直没能找到如何配置自动完成样式。我希望它会使用与 calltip 样式相同的样式,但自动完成仍然是白底黑字。