最近在使用 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转为空格了。

Sublime 将 Tab 转为空格的更多相关文章

  1. vim 将tab转为空格

    在vimrc中添加以下选项 set expandtab 会将tab转换为空格,如果要输入一个tab则需要Ctrl-V<Tab>来实现 set tabstop= 会将tab转换为4个空格 使 ...

  2. Sublime关于tab转空格的设置技巧

    在编写大的工程的代码的时候,会要求一些多余的字符不应该存在,比如说末尾不应该有空格或者Tab这样的字符,比如说所有的Tab应该变成空格,这样工程不管在什么样的编辑器下看,格式都会比较统一,等等,可是如 ...

  3. vim中tab转为空格

    :set ts=4:set expandtab:%retab!

  4. sublime 把 tab 转成 4 个空格

    Preferences -> Settings-User {    "tab_size":4,    "translate_tabs_to_spaces" ...

  5. sublime设置tab键为4个空格

    在使用sublime的时候,有时候新建的文件,默认的缩进是2个,那么如何将sublime设置tab键为4个空格呢? 具体方法: 配置: , "translate_tabs_to_spaces ...

  6. sublime的tab和spaces空格切换的坑

    python是严格要求对齐或者叫缩进的: 使用sublime对python进行编程时,可以使用tab或者空格,但是不能混用.特别是从外面把代码拷贝进sublime的时候,更要注意是否一致. 简单介绍一 ...

  7. sublime text 3 显示空格和Tab

    tab对于需要 共享 的代码而言是灾难. pyhton对这点的明确要求是不要混合使用4个空格和tab键. 只使用二者之一,都是没有问题的.如果一个python代码已经完成的部分,都是使用的4个空格.那 ...

  8. 缩进, Tab 还是空格?(转)

    圣战 圣战个毛线 Android 好还是 iOS 好,Windows 好还是 Mac 好,编辑器好还是 IDE好,中划线好还是下划线好…写代码这么多年,会遇到很多奇葩的毫无意义的所谓脑残粉的争论 昨天 ...

  9. vscode——tab转空格

    前言 为了规范写法,开启了eslint,但是tab没设置转空格,这里记录下设置过程. 步骤 进入设置并搜索tab 配置设置 复制相应的设置 写入到json文件中 "editor.detect ...

随机推荐

  1. IOS单例

    单例就是只有一个实例. 两种常见的创建方法: 1. : static A *a = nil; + (A *)shareInstance { if (!a) a = [[self alloc] init ...

  2. iptables基本操作

    一.基本操作 #启动防火墙 service iptables start #停止防火墙 service iptables stop #重启防火墙 service iptables restart #查 ...

  3. JSONKit解析json数据

    先将第三方文件拖进工程 JSONKit.h和JSONKit.m 然后设置在ARC工程中添加MRC文件,如下图所示 #import "ViewController.h" #impor ...

  4. iOS 按钮小知识点总结

    //设置按钮里面图片和文字的间距 btn.titleEdgeInsets=UIEdgeInsetsMake(0, 20, 0, 0); button.imageEdgeInsets = UIEdgeI ...

  5. 手动方式安装 eclipse 的svn插件 Subversive和 Subversive SVN Connectors

      0.下载配置jdk 链接:http://pan.baidu.com/s/1miIVuic 密码:mwo7 配置 JAVA_HOME .JRE_HOME 1 下载eclipse       ecli ...

  6. animation of android (2)

    android Interpolator 首先是android系统提供的变换方式: 这些方式将转载一篇文章: 转: http://www.cnblogs.com/mengdd/p/3346003.ht ...

  7. SAM4E单片机之旅——21、DMAC之USART回显

    DMAC也可以和外设进行数据交互.之前我们曾使用PDC进行USART的数据回显,这次就使用DMAC完成相同的工作.而且由于DMAC有内部的缓冲区,实现起来更为简单. 一. USART设置 因为之前已经 ...

  8. 使用MiniProfiler调试ASP.NET MVC网站性能

    MiniProfiler 以前开发Webform的时候可以开启trace来跟踪页面事件,这对于诊断程序的性能是有很大的帮助的,起到事半功倍的作用,今天我就来谈用mvc开 发项目的调试和性能监控.EF框 ...

  9. Java递归实现操作系统文件的复制、粘贴和删除功能

    通过Java IO递归实现操作系统对文件的复制.粘贴和删除功能,剪切=复制+粘贴+删除 代码示例: import java.io.BufferedInputStream; import java.io ...

  10. Hadoop with tool interface

    Often Hadoop jobsare executed through a command line. Therefore, each Hadoop job has to support read ...