这似乎是与许多不同的文本编辑器(或者可能是Windows中的复制-粘贴机制?)相关的非常普遍的问题。通常,当我复制粘贴缩进代码的片断时,第一行缩进正确,其余行向右移动一层,需要手动更正(这很烦人)。
例如,当我粘贴代码时:
int i = 0;
for(; i < 5; ++i){
System.out.println(i);
}
其效果通常如下所示:
int i = 0;
for(; i < 5; ++i){
System.out.println(i);
}
即使在使用像Eclipse这样的超高级IDE时,也会出现这个问题。这个问题的原因是什么?为什么我要处理它这么多年?
发布于 2011-12-06 12:38:26
那个问题的原因是什么?
IDE可能正试图代表您进行某种智能缩进,但在这种情况下,它看起来确实像是一个bug。
Zeus编辑器做一些非常类似的事情。
作为我的意思的一个示例,假设您将此文本复制到剪贴板:
System.out.println(i+1);
System.out.println(i+2);
System.out.println(i+3);
如果您随后将该代码粘贴到示例中,位置如下所示:
int i = 0;
for(; i < 5; ++i){
System.out.println(i);
} <-- place cursor on this line
您应该以下面的代码结束(这就是Zeus所做的):
int i = 0;
for(; i < 5; ++i){
System.out.println(i); < place cursor on this line
System.out.println(i+1);
System.out.println(i+2);
System.out.println(i+3);
}
正如您所看到的,这与您可能预期的不同,即:
int i = 0;
for(; i < 5; ++i){
System.out.println(i); < place cursor on this line
System.out.println(i+1);
System.out.println(i+2);
System.out.println(i+3);
}
这是聪明的缩进。
为什么我要处理这么多年?
IDE中应该有一个关闭此功能的选项。宙斯当然有这样的选择。
https://stackoverflow.com/questions/8368800
复制相似问题