用引号括起来
Eclipse JDT如何将多行select转换为String。 如下所示
从:
xxxx yyyy zzz
至:
"xxxx " + "yyyy " + "zzz"
我尝试了以下模板
"${line_selection}${cursor}"+
但这样我只能得到整个块不包围每行分开。 我怎样才能实现多线处理像评论选定的块?
也许这不是你的意思,但…
如果我在Eclipse中的一行,并input双引号,然后在里面粘贴多行select(如你的xyz的例子),它会像这样粘贴:
"xxxx\n" + "yyyy\n" + "zzz"
那么你可以find/replace为"\n"
到""
,如果你不打算换行符。
我认为启用它的选项是在Window/Preferences
,在Java/Editor/Typing/
,勾选"Escape text when pasting into a string literal"
旁边的checkbox。 ( Eclipse 3.4 Ganymede
)
查找/replace与正则expression式选项打开。 找:
^(.*)$
用。。。来代替:
"$1" +
那么,最后一行将有一个盈余+
,你必须手动删除它。
我会用正则expression式模式来查找/replaceeclipse:
-
找:
^((?:\ s(?) \ S?)((?:\ s(?![\ r \ n])) )
-
用。。。来代替
\ 1“\ 2”\ 3 +
在每个string之前和之后将保留任何空格或制表符,并用所需的双引号括住它们。 (最后'+'需要被删除)
这可能不是你正在寻找的答案。 您可以使用sedstream编辑器轻松实现您要求的内容。 这在Unix的所有版本上都可用,在Windows上也可以通过下载一个像cygwin这样的工具包来实现。 在Unix shell命令行上运行该命令
sed 's/^/"/;s/$/"+/'
并粘贴你想要转换的文本。 在其输出中,您将获得转换的文本。 传递给sed的参数表示用行情replace行(^)的开头,并用行情和加号replace每行的结尾($)。
如果你想要转换的文本很大,你可能想通过文件redirectsed的input和输出。 在这种情况下运行类似
sed 's/^/"/;s/$/"+/' <inputfile >outputfile
在Windows上,您还可以使用Outwit工具套件的winclip命令直接更改剪贴板中的内容。 只需运行
winclip -p | sed 's/^/"/;s/$/"+/' | winclip -c
上述命令将剪贴板的内容粘贴到sed中,并将结果粘贴回剪贴板。
最后,如果你经常使用这个命令,把它放到一个shell脚本文件中是很有意义的,所以你可以很容易地运行它。 您甚至可以为其分配Eclipse键盘快捷键。