在记事本中更改功能工具提示的背景颜色++

问题描述 投票:0回答:2

我已经完成了以下内容,但这不是这里的问题。

如何在 Notepad++ 文本编辑器中更改背景颜色?

我正在使用 notepad++ 在 python 中编程,并应用了 Deep Black 主题,其中具有黑色背景和白色文本颜色。

在键入函数时,它会在具有白色背景的工具提示中显示函数语法对比与记事本的黑色背景

我已经在 Style Configurator 中搜索过,但没有找到。

如何更改工具提示的背景颜色?

themes tooltip notepad++ color-scheme
2个回答
4
投票

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 编辑器组件发送消息来设置调用提示的颜色,您需要这样做:

  1. 使用 PluginManager 或从 PluginCentral 安装 NppExec。 NppExec zip 文件包含 dll 和一些子目录。安装/升级到 Notepad++ 插件目录时,请注意在插件目录下创建子目录 NppExec(只需将文件解压缩到插件目录)。 NppExec 目录包含文件

    Scintilla.h
    ,其中包含可能消息的所有定义。

  2. 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
    
  3. 用OK执行脚本

现在您的调用提示窗口应该是黑底白字,您可能想通过更改参数来采用颜色。

如果一切如您所愿,那么插件 -> NppExec -> 高级选项会在配置对话框的右上角区域提供选项Notepad++ 启动时执行此脚本。选择下面的脚本名称 你保存的行(例如 SetCallTipStlye)

唉,我一直没能找到如何配置自动完成样式。我希望它会使用与 calltip 样式相同的样式,但自动完成仍然是白底黑字。


-1
投票

找对面的时候就来了这里。 我编辑了“Deep Black”主题并达到了我不想要的效果。 现在,我无法在工具提示中切换回白色背景。 与原始主题文件的文本比较没有给出任何线索。 有人想研究或测试我的主题 XML 吗? enter image description here

编辑:我了解到在 NPP v8.4 之后这是预期的结果,v8.3.3 或更早版本将显示白色背景工具提示。

© www.soinside.com 2019 - 2024. All rights reserved.