“的颜色”;“标记事件”;在Netbeans的垂直条中

“的颜色”;“标记事件”;在Netbeans的垂直条中,netbeans,Netbeans,当您在NetBeans 7中选择一个变量并使用PHP(也适用于其他语言)时,程序将突出显示文件中使用相同变量的所有位置 我知道如何更改实际高亮显示文本的颜色(在选项->字体和颜色->语法->PHP->标记出现次数),但NetBeans也会在编辑器滚动条右侧的垂直条中标记匹配项。这是我要更改的颜色,因为在使用版本控制时,此栏也会标记差异,而当差异较大时,“标记出现次数”匹配不太清楚。首先,我得到了需要查找的RGB颜色代码,175、172、102(html#AFAC66) 显然,用于突出显示垂直条中

当您在NetBeans 7中选择一个变量并使用PHP(也适用于其他语言)时,程序将突出显示文件中使用相同变量的所有位置


我知道如何更改实际高亮显示文本的颜色(在
选项->字体和颜色->语法->PHP->标记出现次数
),但NetBeans也会在编辑器滚动条右侧的垂直条中标记匹配项。这是我要更改的颜色,因为在使用版本控制时,此栏也会标记差异,而当差异较大时,“
标记出现次数
”匹配不太清楚。

首先,我得到了需要查找的RGB颜色代码,175、172、102(html#AFAC66)

显然,用于突出显示垂直条中出现的颜色在Netbeans源代码中是硬编码的,因此不可能在设置或任何配置文件中对其进行更改

下面是在标记引用时竖条的默认外观:

PHP模块从类中获取高亮显示颜色:
org.netbeans.modules.csl.editor.semantic.MarkOccurrencesHighlighter.java

提到的类位于模块/jar中:
$installation\u folder/netbeans-8.0/ide/modules/org netbeans modules csl api.jar

您可以在中查看该类的源代码,也可以使用反编译器

要更改颜色,可以获取源代码并重新编译模块,或者只需修改字节码即可。就我个人而言,因为我只想修改3个值(RGB),所以我选择修改字节码。要执行此操作,您可以执行以下步骤:

  • 在另一个文件夹中复制
    org netbeans modules csl api.jar
    (我将把该文件夹称为
    $folder
  • org netbeans modules csl api.jar
    中提取类
    org.netbeans.modules.csl.editor.semantic.MarkOccurrencesHighlighter.class
    。为简单起见,请确保在jar副本所在的同一文件夹(
    $folder
    )中提取包/文件夹层次结构,以便获得:
    $folder/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.class

    $folder/org netbeans modules csl api.jar
  • 在反编译器中打开类,我使用JD()
  • 找到要修改的代码(
    ES_COLOR
    ):
  • 在字节码编辑器中打开该类,我使用了reJ(),并找到值175、172、102。(如果要使用大于127的值,必须将操作码
    bipush
    更改为
    sipush
  • 修改值时,我选择了蓝色(0,0255):
  • 保存修改后的.class,并使用反编译器验证值是否已更改:
  • 在终端或命令行中,导航到
    $folder
    ,并执行以下命令以替换jar中修改的类:
    jar-uf org-netbeans-modules-csl-api.jar org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.class
  • 现在,您可以使用反编译器来验证jar是否确实使用修改过的.class进行了修改
  • 最后,您可以将修改后的jar/模块复制到原始位置
    $installation\u文件夹/netbeans-8.0/ide/modules/
    ,也可以将其复制到
    $user\u目录/modules
    文件夹。后者似乎更好,因为它不会修改安装
  • 启动Netbeans并享受新的颜色
  • 下面是垂直条在标记引用时的外观:

    如果要更改用于高亮显示Java模块竖条中出现的内容的颜色,则必须修改位于内部的另一个类
    org.netbeans.modules.Java.editor.semantic.MarkOccurrencesHighlighter.Java
    $installation\u folder/netbeans-8.0/java/modules/org netbeans modules java editor.jar
    ,遵循相同的步骤

    如果我遗漏了什么,或者如果有更简单的方法来改变垂直条中显示的颜色,请随意添加它

    (使用Netbeans 8.0进行测试)