LiMinggang / madedit-mod

MadEdit-Mod is a cross platform Text/Hex editor(based on the madedit project @ sourceforge)
GNU General Public License v3.0
124 stars 27 forks source link

Hope to add search key words or expression on the result tree title on the left of the file path #137

Closed zhulaojianke closed 8 years ago

zhulaojianke commented 8 years ago

现在的collapse all在进行多次搜索之后浏览所需查询的结果,非常爽!但每个结果树的标题部分仅给出了文件路径信息,全部收缩之后所有的结果树都是一样的,仍旧不方便判断哪棵树里会包含哪些关键词或者表达式结果。如果能够在每个结果树的标题部分,文件路径的左侧,加上搜索时所使用的关键词和表达式,那样就完美了。

When collpase all the search results tree in the search result window, the apparents of all tree are the same and I couldn't find which tree contain which search key words or expression. Hope to add search key words or expression on the result tree title on the left of the file path, that will let the result window work perfectly!

LiMinggang commented 8 years ago

Will follow the style of NP++. Any suggestion? 2016-01-25 10_51_45-_new 1 - notepad administrator

对比了一下,发现自己给Madedit加的这个功能还很原始啊!争取做得跟标签功能一样,真正能用起来好用 不同颜色这个好像做不了。

zhulaojianke commented 8 years ago

我觉得"search"这个开头就不必加了,把搜索关键词或者表达式用引号括起来就很实用了。不知道您图中的“new 1”是做什么用的,这里如果使用“文件名”或者“文件路径”的话会更好一些吧。

NPP的结果中每行都有缩进,栏颜色有差别,这能让人看得更清除一些,但是如果将“搜索结果窗口”放在编辑框的右边时,就会比较窄,这些缩进反而影响了用户对搜索结果的观察。所以我觉得没必要缩进。是否用颜色区别不同的栏,我觉得也是可有可无的。

而且NPP中用了“Line”作为每一行的开头,这个也很占地方,我觉得用“1: ”这样的形式就非常好了,能够让用户很方便的看到所搜索到的结果,而且知道相应的行号,这就达到了“搜索结果窗口”的目的,而且也提高了用户的使用效率。“行号: ”

您是说在搜索结果窗口中给出搜索关键词高亮显示这个做不了么?那有些可惜了。

LiMinggang commented 8 years ago

new 1是文件名,NP++支持临时文件。NP++是基于windows,不能跨平台,跨平台的软件很多都不能针对平台做很多事情

zhulaojianke commented 8 years ago

刚才吃饭的时候又想了想,如果使用4级树呢?

第1级,标明“搜索关键词”或者“搜索表达式”,在多少个文件里共找到了多少个结果。

第2级,标明“文件名”或者“文件路径”,在该文件中共找到了多少个结果。

第3级,标明发现搜索结果的行,以及在该行中出现“关键词”或“表达式匹配结果”的次数,并显示部分行内容,比如说给出30个字符的预览。如果在一行中出现了若干个搜索结果,我觉得没必要为每个搜索结果都单列一行,那样的话,如果我在一行中搜出了上百个搜索结果的话,就要列出上百行,但实际上我仅仅是想找到那一行而已,上百行只能遮挡视线了。另外,当我又两行或者更多的行中都存在上百个搜索结果,那么在“搜索结果窗口”中就会出现特别特别长的一个列单,但从这个列单里找到我要编辑的那一行确实非常难的事情了。

第4级,列出该行中的所有搜索结果的具体位置。此时也没必要把整行的内容都引用一遍。可能在编程的时候不会出现很长的行,但是在小说的写作或者论文的写作中,一行可能会有几千几万个字符,此时如果仍旧全行内容引用的话,不但降低了运行性能,而且也根本没有达到根据搜索进行导航的作用。我觉得在这第4级中列出搜索关键词或者匹配结果的前面的20个字符和后面的20个字符,就足够了。也就是下面的这个样子:

(搜索结果前的20个字符)搜索结果(搜索结果后面的20个字符)

这样非常简明,用户浏览一眼就可以知道所搜索的关键词出现在文章内容的哪里了。

而且我觉得: 在第3级中,当鼠标双击的时候,编辑窗口的中光标就跳到相应行的最一开始(但焦点仍在“搜索结果窗口”中); 在第4级中,当鼠标双击的时候,编辑窗口中的相应关键词或者匹配结果就会高亮显示(焦点仍在“搜索结果窗口”中),此时只要切换到编辑窗口就可以直接进行编辑了。

不知道这个实现起来会不会很困难,我是感觉这样的“搜索结果窗口”就充分达到了使用“搜索结果窗口”导航的目的,对用户来说也是最方便的了。此时,collapse all功能也就充分的发挥了作用——在不同的级别可以完全折叠次一级别的树。

哎,又想了这么多,真是辛苦您了 :)

LiMinggang commented 8 years ago

3,4好像已经这样了吧

LiMinggang commented 8 years ago

最近忙,估计下一个版本要很长时间才出了。0.4.0有一个bug就是replace all的时候,如果结果里面有'\'这种正则表达式会有问题。已经修复了,其他没发现啥大问题

zhulaojianke commented 8 years ago

我最近也特别忙,要在年前赶出7份大文件出来……

呵呵,要不您把现在最后的版本挂到sourceforge上?好么?我默默测试着,发到这里您没时间改也没事儿的。不给您添麻烦就好。

LiMinggang commented 8 years ago

上传到Preview了 Result的横滚基本可以了,牵扯到所使用的框架的一个问题,改了但不知有没有引入问题,正在跟对方讨论,你多试试这个横滚,方法跟编辑窗口横滚一样。 New: Enhancement on Results(Delete items, collapse items) #138 New: Improve syntax highlight function for non-English language Text file #142 Fix: A bug in the "quick search bar" #143 Fix: A bug in replace all introduced by code change for #119 Fix: An issue of wxWidgets while scroll result window by mouse wheel

zhulaojianke commented 8 years ago

试了,现在发现有1个问题:我在“搜索结果窗口”中选择“复制选用文字”后,粘贴出来是带行号的……如下是粘贴出来的结果:

其他的近乎完美了!哈哈,谢谢您!

zhulaojianke commented 8 years ago

我觉得能够对搜索结果窗口中进行有选择性的折叠和删除,这绝对是一个亮点!现在用搜索做导航真的痛快了很多。

您先忙工作吧,真是辛苦您了。谢谢哈。