sublime怎么配置typescript环境_sublime实现ts代码补全与编译【方案】
发布时间 - 2025-12-29 00:00:00 点击率:次不能。Sublime Text 不内置 TypeScript 支持,需通过 LSP 插件 + typescript-language-server 实现完整语言功能,且编译需手动配置构建系统或终端执行 npx tsc。
Sublime Text 能不能直接支持 TypeScript?
不能。Sublime Text 本身不内置 TypeScript 支持,也不运行 tsc 编译器或语言服务(如 typescript-language-server),所有补全、跳转、错误提示都依赖第三方插件桥接。强行只装一个 TSFormatter 或 SublimeCodeIntel 会卡顿、报错、补全失效——因为它们不对接现代 TS 语言服务器协议(LSP)。
必须用 LSP 插件 + typescript-language-server
这是目前唯一稳定、低延迟、功能完整的方案。核心链路是:LSP(Sublime 插件)→ 启动并通信 typescript-language-server(Node.js 进程)→ 读取项目根目录下的 tsconfig.json → 提供语义补全、类型提示、保存时诊断等。
实操步骤:
- 确保已安装 Node.js(
node -v能输出版本),且npm可用 - 在项目根目录执行:
npm install --save-dev typescript typescript-language-server
- 通过 Package Control 安装插件:
LSP和LSP-typescript(后者是LSP的 TypeScript 专用客户端配置) - 重启 Sublime Text,打开一个
.ts文件,状态栏右下角应显示LSP: tsserver
注意:LSP-typescript 插件默认会自动查找本地 node_modules/.bin/typescript-language-server;如果全局安装(npm install -g typescript-language-server),需在 LSP.sublime-settings 中手动指定 command 路径。
编译 ts 文件要自己触发,不是保存即编译
Sublime 不像 VS Code 那样默认开启 “compileOnSave”: true。LSP 只负责语言功能,不执行编译。要生成 .js 文件,有两条路:
- 终端手动运行:
npx tsc
(依赖项目中有tsconfig.json) - 在 Sublime 内配置构建系统:菜单 → Tools → Build System → New Build System…,填入:
{ "shell_cmd": "npx tsc", "file_regex": "^(.*?)[(:](\\d+)[,:](\\d+)[):]?(?:\\s+(error|warning|info)|$)", "working_dir": "${project_path:${folder}}" }保存为Typescript.sublime-build,之后按Ctrl+B(Windows/Linux)或Cmd+B(macOS)即可编译
别指望 AutoFileName 或 SideBarEnhancements 自动编译——它们没集成 TypeScript 编译逻辑。
常见失败点:tsconfig.json 位置和文件关联
补全失效、类型提示空白、any 泛滥,90% 是因为 LSP 没找到有效的 tsconfig.json,或 Sublime 没把文件识别为 TypeScript。
- 确认
tsconfig.json在项目**最
外层文件夹**(即 Sublime → Project → Add Folder to Project…打开的那个目录)下,而非子目录 - 检查右下角文件类型是否为
TypeScript(不是Plain Text或JavaScript);如果不是,点击右下角 → 选择TypeScript - 如果项目含多个
tsconfig.json(如src/tsconfig.json),LSP 默认不递归查找;需在项目设置中显式指定:"settings": { "lsp": { "typescript-language-server": { "enabled": true, "settings": { "typescript.preferences.includePackageJsonAutoImports": "auto" }, "command": ["npx", "typescript-language-server", "--stdio"] } } }并确保working_dir指向含tsconfig.json的目录
路径错一层、文件类型认错、tsconfig.json 里 include 漏写 **/*.ts,都会让补全变成摆设。
# linux
# javascript
# java
# sublime
# js
# node.js
# json
# node
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用wdcp快速搭建高效网站?
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
无锡营销型网站制作公司,无锡网选车牌流程?
高防服务器:AI智能防御DDoS攻击与数据安全保障
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
制作企业网站建设方案,怎样建设一个公司网站?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Laravel如何使用.env文件管理环境变量?(最佳实践)
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
如何制作一个表白网站视频,关于勇敢表白的小标题?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
如何在橙子建站上传落地页?操作指南详解
如何在建站之星绑定自定义域名?
音响网站制作视频教程,隆霸音响官方网站?
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
Laravel如何处理CORS跨域请求?(配置示例)
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Laravel如何使用Gate和Policy进行授权?(权限控制)
JavaScript如何实现倒计时_时间函数如何精确控制
微信小程序 canvas开发实例及注意事项
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Android 常见的图片加载框架详细介绍
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
JavaScript数据类型有哪些_如何准确判断一个变量的类型
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
公司网站制作价格怎么算,公司办个官网需要多少钱?
详解Android中Activity的四大启动模式实验简述
如何在七牛云存储上搭建网站并设置自定义域名?
北京的网站制作公司有哪些,哪个视频网站最好?
Linux安全能力提升路径_长期防护思维说明【指导】
如何在IIS管理器中快速创建并配置网站?
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
LinuxCD持续部署教程_自动发布与回滚机制
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
如何快速生成可下载的建站源码工具?


外层文件夹**(即