Sublime 将 Tab 转为空格

时间:2022-07-18 07:33:45

最近在使用 vue-cli 搭建项目,但每次用 Hbuilder 编写 vue 文件的时候,如果存在<script>部分就会报错,错误信息大意是说空格有问题。仔细研究了之后才知道,这是因为项目中使用了 editorconfig,并且将代码缩进规定为两个空格,而之前的代码都是直接使用 tab 缩进,所以无法正常编译。但是 Hbuilder 似乎没有 tab 转空格的设置,所以最后只有使用  sublime。具体的设置方法如下:

首先,依次单击Preferences—>Settings,添加以下配置:

"tab_size": 2,

"translate_tabs_to_spaces": true,

"trim_trailing_white_space_on_save": true,
 
上面的配置依次为:设置tab宽度为两个空格,将tab转为空格,保存时去除行尾的空白字符
 
然后还需要做一系列操作,让文件保存时自动把Tab变成space

1.打开sublime的Preference -> Browser Packages ...
2.新建一个目录ExpandTabsOnSave
3.新建文件ExpandTabsOnSave.py
4.把下面内容复制进去,保存

import sublime, sublime_plugin, os

class ExpandTabsOnSave(sublime_plugin.EventListener):
  def on_pre_save(self, view):
    if view.settings().get('expand_tabs_on_save') == 1:
      view.window().run_command('expand_tabs')

5.如果你想只是应用于当前项目,在 .sublime-project文件下添加:
"settings": {
    "expand_tabs_on_save": true
}

6.全局改变,打开Preferences -> Settings - User添加:
"settings": {
    "expand_tabs_on_save": true
}

配置完成后,新的文件使用 tab 时就能直接转为两个空格。不过如果对于已经有 tab 的文件,需要将原本的代码拷贝到其他的编译器里面,然后需要删除原本的代码,保存并关闭文件。再重新打开文件,将代码粘贴进来,就能将tab转为空格了。