【问题标题】:Preserve formatting in copy/paste of eclipse在 Eclipse 的复制/粘贴中保留格式
【发布时间】:2013-01-09 13:37:38
【问题描述】:

有一些生成的代码可以构建地图。放置在地图中的值是多行字符串。
示例:

theMap.put("SOMEKEY", "Line 1 of string.  
               Also line 2 of string.  
               Perhaps more"); 

当我尝试将代码复制/粘贴到 Eclipse 时,由于地图中值的格式而出现红色错误。
我用谷歌搜索了found,在这里 Eclipse 中有一个配置可以保留字符串文字中的格式,但在这种情况下它似乎不起作用。
还有其他配置选项吗?

【问题讨论】:

  • 该代码是如何生成的?
  • 在 Eclipse 中用您选择的文本编辑器替换 "\n" 换行符。如果您不手动进行后期处理,请使用具有宏功能的编辑器并编写一个宏,而不是仅检测您要替换的换行符。
  • @MrSmith42:如何在文本编辑器的替换功能中声明换行符,以便将它们替换为\n
  • 在查找字段中:只需从文本中复制并粘贴一个换行符,然后在替换字段中写入 \n(作为两个字符)

标签: java eclipse


【解决方案1】:

如果只需要保留空格,可以像这样使用 \n 字符:

theMap.put("SOMEKEY", "Line 1 of string.\nAlso line 2 of string.\nPerhaps more"); 

或者如果你想要多行:

theMap.put("SOMEKEY", "Line 1 of string."
               +"\nAlso line 2 of string."
               +"\nPerhaps more");

如果您只将字符串值粘贴到空字符串 ("") 中,为了能够做到这一点,您需要启用以下设置:window>preferences>java>editor>typing 并检查最后一个选项(escape粘贴到字符串时的文本)

【讨论】:

  • 我的问题是我需要粘贴现有的片段。不是如何修改它们
  • 我已经用一个可以帮助你的选项编辑了我的帖子。您必须将字符串文字粘贴到空引号中才能运行
  • 什么不起作用?如果你有代码:theMap.put("SOMEKEY", "");并将您的字符串粘贴到空字符串中,如果选中该选项,它应该按预期格式化
【解决方案2】:
theMap.put("SOMEKEY", "Line 1 of string.\nAlso line 2 of string.\nPerhaps more");

拆分成多行:

theMap.put("SOMEKEY", "Line 1 of string.\nAlso line 2 of string.\n" +
        "Perhaps more");

如果你想从一个文件中读取多行:

String s, fullString;
while ((s = bufferedReader.readLine()) != null) {
    fullString += s + "\n";
}
bufferedReader.close();
theMap.put("SOMEKEY", fullString);

【讨论】:

  • 您的意思是手动执行此操作?我的问题是我需要粘贴现有片段。不是如何修改它们
  • @Jim 为什么需要粘贴现有的片段?我可以想到另一种方式:您可以从文件中读取。
猜你喜欢
  • 2012-04-25
  • 1970-01-01
  • 2016-02-20
  • 1970-01-01
  • 2020-02-29
  • 2016-03-31
  • 1970-01-01
  • 2018-02-16
  • 1970-01-01
相关资源
最近更新 更多