sublime需装typescript插件并配置build system才能支持ts语法高亮、基础提示和tsc编译;插件内置tsserver不读tsconfig.json的compileroptions,完整校验须手动cmd+b运行tsc。

TypeScript语法高亮和智能提示怎么开? Sublime默认不认.ts文件,打开就是纯文本。得先装插件,再配文件关联。
- 安装
Package Control(如果还没装):Cmd+Shift+P → 输入Install Package Control回车
- 装
Typescript官方插件:Cmd+Shift+P → Package Control: Install Package → 搜Typescript(作者是ms-vscode那个)
- 装完重启Sublime,再打开
.ts文件,右下角会自动显示TypeScript,不是Plain Text
Package Control(如果还没装):Cmd+Shift+P → 输入Install Package Control回车 Typescript官方插件:Cmd+Shift+P → Package Control: Install Package → 搜Typescript(作者是ms-vscode那个) .ts文件,右下角会自动显示TypeScript,不是Plain Text 注意:这个插件自带tsserver内嵌版本,但只支持基础补全和错误标红,不跑编译,也不检查tsconfig.json里的compilerOptions。想看noImplicitAny报错?它不报。
如何让Sublime真正执行tsc编译? 插件本身不调tsc命令,得靠Build System手动配。
- Cmd+Shift+P →
Tools: Build System → New Build System…
- 替换全部内容为:
{ "cmd": ["tsc", "$file"], "selector": "source.ts", "working_dir": "$file_path", "variants": [ { "name": "Watch", "cmd": ["tsc", "--watch", "$file"] } ] }
- 保存为
Typescript.sublime-build(路径自动进Packages/User/)
- 再打开
.ts文件,Cmd+B 就能编译;Cmd+Shift+B 选Typescript — Watch可监听
Tools: Build System → New Build System… { "cmd": ["tsc", "$file"], "selector": "source.ts", "working_dir": "$file_path", "variants": [ { "name": "Watch", "cmd": ["tsc", "--watch", "$file"] } ] }Typescript.sublime-build(路径自动进Packages/User/) .ts文件,Cmd+B 就能编译;Cmd+Shift+B 选Typescript — Watch可监听 常见坑:
-
tsc没加到系统PATH?终端里敲tsc -v没反应,就得先全局装:npm install -g typescript -
$file路径含中文或空格?Build会失败,建议项目放纯英文路径下 - 没
tsconfig.json?tsc会用默认配置,可能忽略lib或target,建议根目录手动建一个
为什么改了tsconfig.json,Sublime还是不生效? 因为Typescript插件的语法检查和tsc编译走的是两套逻辑:前者用内置轻量版tsserver,后者走你本地装的tsc。
- 插件的错误提示(比如波浪线)只响应基础语法、类型拼写、模块导入——但不会读你的
tsconfig.json里的strict或jsx设置
- 真正按
tsconfig.json校验的,只有你手动触发的Build(即tsc命令)
- 如果想让插件也尊重配置,得在项目根目录放
tsconfig.json,然后插件会尝试加载它,但仅限部分字段(如include/exclude),compilerOptions多数被忽略
tsconfig.json里的strict或jsx设置 tsconfig.json校验的,只有你手动触发的Build(即tsc命令) tsconfig.json,然后插件会尝试加载它,但仅限部分字段(如include/exclude),compilerOptions多数被忽略 所以别指望右上角那个小灯泡告诉你any没声明——它不会。要验证完整配置,必须Cmd+B看控制台输出。
有没有更省事的替代方案? 有,但得接受取舍。
- 用
SublimeLinter-tslint(已废弃)或SublimeLinter-eslint + @typescript-eslint:能查部分规则,但需要额外配eslint和typescript-eslint,且不是真正的TS类型检查
- 直接切VS Code:它对TS的支持是官方维护的,
tsconfig.json、node_modules类型推导、JSX支持都开箱即用,没有中间层失真
SublimeLinter-tslint(已废弃)或SublimeLinter-eslint + @typescript-eslint:能查部分规则,但需要额外配eslint和typescript-eslint,且不是真正的TS类型检查 tsconfig.json、node_modules类型推导、JSX支持都开箱即用,没有中间层失真 Sublime跑TS终究是“能用”,不是“好用”。最常被忽略的一点:插件的tsserver版本通常滞后TS官方发布一到两个大版本,遇到新语法(比如const assertions或module resolution新策略),它直接静默跳过,连警告都没有。