代码编辑器 - 混用编辑器导致代码缩进不齐

说明

  • 工作中,在windows上使用IDE(vscode)编辑代码,有时也会在Linux服务器上使用vim编辑代码,混用之后,即使是使用统一的缩进方式编辑代码,也时常发现代码缩进没有对齐,如下:
->  printf("hello\n");
........printf("hello\n");
  • 缩进有两种方式:
  1. tab键缩进,显示效果如下:
->  printf("hello\n");
  1. 空格键缩进,显示效果如下:
....printf("hello\n");
  • 由于tab缩进只需要按tab键一次,空格缩进需要按空格键多次,大部分人还是习惯使用tab缩进。

问题根因

  • 不同编辑器tab符号显示的缩进长度不一样,vim tab符号的缩进长度等于8个空格,而其它大部分编辑器是4个空格。
  • vim 显示效果:
->      printf("hello\n"); // tab符号
........printf("hello\n"); // 8个空格符号
  • 其它编辑器显示效果:
->  printf("hello\n"); // tab符号
....printf("hello\n"); // 4个空格符号

使用编辑器时

  • 使用单个编辑器,不管是window上的vscode,还是linux上的vim,由于一个人使用缩进方式是固定的,显示效果也是对齐的。
  • 如果使用单个编辑器,依然缩进不齐,只能是以下原因:
  1. 缩进时,tab和空格使用不统一,有的地方使用tab,有的地方使用空格,常见于多人编写的代码或者拷贝的代码。
  • 注意:不只是混用编辑器会出现缩进问题,不同的代码显示命令tab缩进的长度也不同,例如:git show 是以8个空格长度显示tab,因此使用单个编辑器时,缩进方式也需要统一。

混用编辑器时

  • 混用编辑器,如果都使用tab缩进,理论上:不管编辑器的tab符号等于8个空格,还是4个空格,显示效果也是对齐的。
  • 然而,使用tab缩进,默认配置下很多编辑器在代码编辑(手动换行或者拷贝代码)时会更改你的缩进方式,会将tab符号更改为对应数量的空格,这样代码中就会既有空格,又有tab。
  1. 如果使用单个编辑器,更改也没问题,例如:tab更改为4个空格,tab本身也是按4个空格缩进,所以显示效果也是对齐的。
  2. 如果使用多个编辑器,例如:vim将tab改成8个空格后,vscode显示tab是4个空格的缩进长度,8个空格对不齐了。

解决问题的办法

  1. 配置编辑器,统一将tab转换成4个空格。
  2. 配置编辑器,使编辑器不去自动修改用户的缩进方式,文件存储时,1个tab只占用1 byte存储空间,如果改成4个空格,需要占用4个存储空间。

你可能感兴趣的:(工具,编辑器)