当您在 NetBeans 7 中选择一个变量时,使用 PHP(也适用于其他语言),程序会突出显示文件中使用相同变量的所有位置。
我知道如何更改实际突出显示文本的颜色(在 Options->Fonts & Colors->Syntax->PHP->Mark Occurrences
中),但 NetBeans 还在编辑器滚动条右侧的垂直栏中标记匹配项。这是我要更改的颜色,因为在使用版本控制时,此条也会标记差异,而当差异很大时,“mark occurrences
”匹配不是很清楚。
最佳答案
首先,我得到了我需要找到的 RGB 颜色代码,175、172、102 (html #AFAC66)
显然,用于突出显示垂直栏中出现的颜色在 Netbeans 源中是硬编码的,因此无法更改设置或任何配置文件。
以下是标记事件时默认情况下垂直条的外观:
PHP 模块从类中获取高亮颜色:
org.netbeans.modules.csl.editor.semantic.MarkOccurrencesHighlighter.java
提到的类位于模块/jar中:
$installation_folder/netbeans-8.0/ide/modules/org-netbeans-modules-csl-api.jar
您可以在 http://hg.netbeans.org/ 中查看该类的源代码。 ,或者您可以使用反编译器。
要更改颜色,您可以获取源代码并重新编译模块,或者您可以简单地修改字节码。就个人而言,因为我只想修改 3 个值(RGB),所以我选择更改字节码。为此,您可以按照以下步骤操作:
org-netbeans-modules-csl-api.jar
在另一个文件夹中(我将该文件夹称为 $folder
)。 org.netbeans.modules.csl.editor.semantic.MarkOccurrencesHighlighter.class
来自 org-netbeans-modules-csl-api.jar
.为简单起见,请确保将包/文件夹层次结构提取到 jar 副本所在的同一文件夹 ($folder
) 中,以便获得:$folder/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.class
$folder/org-netbeans-modules-csl-api.jar
ES_COLOR
):bipush
更改为 sipush
超过 127)$folder
,并执行以下命令替换jar中修改后的类:jar -uf org-netbeans-modules-csl-api.jar org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.class
$installation_folder/netbeans-8.0/ide/modules/
或者您可以将其复制到$user_directory/modules
文件夹。后者似乎更好,因为它不会修改安装。 以下是标记事件时垂直条现在的样子:
如果要更改用于突出显示 Java 模块垂直栏中出现的颜色,则必须修改另一个类
org.netbeans.modules.java.editor.semantic.MarkOccurrencesHighlighter.java
位于内部$installation_folder/netbeans-8.0/java/modules/org-netbeans-modules-java-editor.jar
, 遵循相同的步骤。如果我遗漏了某些内容,或者如果有更简单的方法可以更改垂直栏中显示的颜色,请随时添加。
(使用 Netbeans 8.0 测试)
关于netbeans - Netbeans中垂直条中 "mark occurrences"的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6207419/