huoguangjin / MultiHighlight

Jetbrains IDE plugin: highlight identifiers with custom colors 🎨💡
https://plugins.jetbrains.com/plugin/9511-multihighlight
GNU General Public License v3.0
103 stars 22 forks source link

目前存在的bug #12

Closed 625781186 closed 2 months ago

625781186 commented 4 years ago
  1. 切换的颜色不是按配置里面的 ?

jdfw5

  1. 不知道为什么切换不了颜色(有的文件可以有的不行):

jdfw6

huoguangjin commented 4 years ago

前几天看到评论,很抱歉没有及时回复。

关于问题:

  1. 切换的颜色不是按配置里面的 ?

emmm.. 使用方式上理解有点不一致。
这个插件的目的是高亮标识符,而不是高亮预设的关键词,高亮颜色是按配置中的色盘轮换的,默认色盘里的文字只是代表颜色而已,没其它含义。

  1. 不知道为什么切换不了颜色(有的文件可以有的不行)

目前高亮时的标识符查找操作是靠IDE实现的,也就是说查找标识符就是在查找IDE语法分析出的结果(PsiElement/PsiReference)。所以呢,如果强如IDE也没法分析出来(有时候也会分析有误),我也莫得办法了,无奈摊手╮( ̄_ ̄)╭。

这情况比较容易出现在如python/javascript等动态语言,毕竟动态语言很难做到完美的静态分析,不过大多数情况IDE的分析是好使的,如果是如java/typescript之类的静态语言,那基本没问题。截图中的IIC看起来是一个没在本文件中声明的特殊全局变量,所以IDE就没分析出来。

目前已发布的插件对这种情况的兜底逻辑是执行普通的查找操作(对应的action是Find,默认快捷键通常是ctrl+f),用的是普通高亮。之前有小伙伴有用来高亮日志文件关键词的需求 #3 ,后来有位热心老哥也期望兜底逻辑改成是单词匹配搜索并高亮,于是在master分支上提了PR #10 ,但由于PR的实现有点粗暴,在性能和取消高亮的逻辑等方面有点小瑕疵,所以目前只是简单合进了master,没对外发布,最后给自己开了个需求坑 #11 ,现在还在想怎么样搞好一点。(说到底还是我太菜+太懒)