2010-09-03 91 views
10

长期Eclipse用户在这里;我最近发现添加到Eclipse 3.5中的“块选择模式”(Alt-Shift-A)。我试过了,它很整洁 - 我可以在我的源代码中选择一个矩形的文本,而不是像我通常那样在一次选择一行。块选择模式有什么好处?

显然这个功能在其他编辑器中也很常见,像“列编辑模式”等其他名称一样。很多人似乎真的很喜欢它,但是我很久没有看到它了。

所以我的问题是:这个功能有什么用处?

我能想到的唯一一个插入注释字符(如//或#)在大块文本前面。另外,我想如果我有一堆变量名称都排成一列,我想一次性更改所有变量的第一个字符。但肯定还有更多呢?我的意思是,在选择编辑器时,这个功能显然对某些人来说是一种破坏行为!

+0

+1我将它用于您提到的可能用例,但现在您要求... – BoltClock 2010-09-03 21:13:48

回答

4

我发现它是非常有用使用固定位置的现场数据文件时,你只想选择几个字段进行搜索替换或复制粘贴。它也适用于这样的事情:

call_foo('A',123); 
call_foo('B',143); 
call_foo('C',331); 
call_foo('A',113); 
call_foo('R',789); 

代码是一样的,除了某些字符在某些列。您可以选择第二个参数周围的块并搜索包含113的行。这种格式的文本不仅仅包含几行文字时非常有用。

+3

更不用说,选择''_f'并在心跳中将其更改为'F'。虽然通常我认为它在Eclipse中比在纯文本编辑器中更有用。在Eclipse中编写Java代码只需重构方法名称即可。但是,当我用Perl编写代码时,我使用UltraEdit,列编辑节省了大量时间。 – 2010-09-03 21:23:15

+0

啊,是的好点。我在Eclipse中执行Java和Python,并且我可以看到你的意思 - 在Python中重构工具还没有完全开发的时候会更加容易。 – Xanatos 2010-09-03 21:33:19

0

如果您正在查看具有固定宽度字段的文件,有时您只想选择一列。

3

我的一位同事告诉我一个项目,他们写JDBC代码:

String query = 
    "select question, answer, accepted " + 
    "from so_answers     " + 
    "where poster = 'Jon Skeet'  " + 
    "order by upvotes     "; 

这样他们可以阻止,选择SQL,以便将其粘贴到一个数据库工具,并运行它手。对我来说似乎有些卑鄙,但它显然对他们有效。

+0

也许他们应该试试SquirrelSQL,它可以在语句中添加和删除Java风格的引用。 – 2010-09-04 00:00:40

3

如果你每天至少要使用四次或五次块切/复制/粘贴操作,那么我建议你只是做了很多额外的输入。