小虾米资讯
AD1android:论文本编辑器的两种列选模式
2021-05-04 15:55:27 / 我要吐槽AD2
一、Notepad++ (Scintilla)式网上有人说 Notepad++ 改进了 Scintilla 的列选模式,其实不是的,都是 Scintilla 编辑器组件的原生功能。Alt+鼠标拖拽,托选出一个方形的选择区域,名之曰:Rectangle Selection.快速列选:Alt+shift+鼠标点击,可快速选出方形列区,无需鼠标拖来拖去。许多编辑器都是这个模式,包括 Visual Studio、其他大部分。二、Android Studio 式同样是用Alt+鼠标拖拽,但结果不是方形的选择区域,而是类似于多光标、多选择模式,可以快速选中多行代码的行末位置,也可以选择中间位置相近的地方。实际使用中我发现两种列选模式都有用武之地。Scintilla 是否可以同时启用两种列选模式呢?Scintilla 开启方形选择区域的代码:execute(SCI_SETVIRTUALSPACEOPTIONS, SCVS_RECTANGULARSELECTION)含义:设置“虚空格”选项,加上标志位:Rectangular Selection。如果去掉这行代码,发现此时列选模式有些不伦不类:有的地方选择了行末位置,有的地方却在中间。事实上 Scintilla 的官方示例程序,SciTE.exe 就没有开启方形选区的标志位,是以有人说 Notepad++ 改进了 Scintilla 的列选模式。其实并没有,只是打开一个开关而已。Scintilla 式方形选区和 Android Studio 式多行列选模式都有用得到的时候。是否可以将 Android Studio 列选特性合并到 Scintilla 中,代替后者不伦不类的非方形列选模式?事实上是可以的,而且极其简单,只需修改 Scintilla 的两处相关代码即可。如果不用此 Android Studio 式多行列选模式,也可以用“多光标”模式实现类似效果,需要用ctrl+鼠标一个个去点击,如果行数比较多的话就失去了意义。如果不修改 Scintilla,也可以安装 BetterMultiSelection插件,拖出方形区域后,按一下end键,就可以将方形区域转换为行末的多行列选,不过只能选择行末了。只有如我一般去修改 Scintilla,让其同时具备两种列选模式,才是上乘之道。开启 Android Studio 或者说 IDEA 式列选模式时,主要有两种用法:多行变一行、批量修改相似的中间字符串。
Powered By © 小虾米资讯 2015
(本站部分文章来源于网络或网友爆料,不代表本站观点,如有侵权请联系及时删除 )