Sublime Text 3配置Dart与Flutter开发环境的步骤

胖强姑娘_6832

胖强姑娘_6832

2026-08-13

664人浏览

原创

sublime text 3无法配置真正可用的flutter开发环境,仅支持语法高亮、跳转、手动格式化和基础补全;必须安装mrjones或dart-lang的dart插件、优先配置系统path而非硬填sdk路径、启用lsp-dart补全并手动触发,所有运行、热重载和调试均需终端执行。

sublime text 3配置dart与flutter开发环境的步骤

Sublime Text 3 无法配置出真正可用的 Flutter 开发环境——它不支持热重载、调试器、设备管理,也连不上 Dart 3.4+/Flutter 3.22+ 的语言服务器;你最多能配出语法高亮、Ctrl+Click 跳转、保存自动格式化和基础补全,前提是 PATH、插件、分析服务器三者全部对齐。

装哪个 Dart 插件才不报红、不跳错

只装 Dart(作者是 mrjones 或 dart-lang),不是 Dartlang、SublimeDart,更不是任何带 “Flutter” 字样的插件。后三者已停更或不兼容 null safety 后语法:required、??=、泛型推导全会标红,Ctrl+Click 直接失效。

操作步骤:

  • 按 Ctrl+Shift+P → 输入 Package Control: Install Package
  • 搜 Dart,严格核对作者字段(GitHub 仓库应为 sublimetext-plugins/Dart 或 dart-lang/dart-sublime-bundle)
  • 装完必须重启 Sublime Text,否则右下角不会显示 Dart
  • 打开任意 .dart 文件,右下角应显示 Dart,不是 Plain Text

为什么 Ctrl+Click 跳不到定义,或控制台报 Unable to locate SDK

根本原因不是插件没装,而是 Sublime 启动时没读到 shell 的 PATH——GUI 启动的 Sublime 不加载 ~/.zshrc(macOS)或系统环境变量(Windows),导致插件找不到 dart 命令。

别硬填 dart_sdk_path,优先走系统级 path 配置:

Sublime Text Build Linux版
Sublime Text Build Linux版

Sublime Text Linux x86-64 deb 安装包。官方也提供 rpm、tar.xz 和软件源安装方式。

下载
  • 终端执行 which dart,记下输出(如 /opt/homebrew/bin/dart 或 /Users/xxx/flutter/bin/cache/dart-sdk/bin/dart)
  • Sublime → Preferences → Settings – User,加一行:"path": "/opt/homebrew/bin:/Users/xxx/flutter/bin"(多个路径用英文冒号分隔)
  • 必须重启 Sublime(不是重载设置),否则 path 不生效
  • 重启后按 Ctrl+Shift+P → Dart: Restart Analysis Server,看控制台(Ctrl+`)是否输出 Analysis server ready

LSP-dart 补全为啥不弹、Widget 补不全

原生 Dart 插件的补全在 Dart 2.12+ 后就废了,返回空列表或静默失败。想有点提示,只能上 LSP + LSP-dart,但它对 Flutter 特有类支持很弱——WidgetsBinding.instance、required 参数、package:flutter 里的 Widget 基本靠猜。

实操要点:

  • 用 Package Control 安装 LSP 和 LSP-dart 两个插件
  • 确保终端能跑 dart --version,否则 LSP-dart 启动失败,状态栏右下角不会显示 LSP-dart
  • 打开 LSP.sublime-settings,把 "command" 明确设为 /path/to/flutter/bin/cache/dart-sdk/bin/dart,不能依赖 PATH
  • 补全不会自动弹,要手动触发:Ctrl+Shift+P → LSP: Auto Complete,或保存后等几秒再按 Ctrl+Space

怎么运行 flutter run 或 dart 脚本

Sublime 没内置运行时,所谓“运行”就是调外部命令。构建系统必须写对,且只适用于单文件脚本或已配置好工作区的 Flutter 项目。

两种常用方式:

  • 单文件 Dart 脚本:菜单 → Tools → Build System → New Build System…,填入:
    {
      "cmd": ["dart", "$file"],
      "selector": "source.dart",
      "working_dir": "$file_path"
    }
  • Flutter 项目:终端进项目根目录,直接跑 flutter run;Sublime 里按 Ctrl+B 不会起作用,除非你额外写了构建系统并指定 working_dir 和 cmd 为 ["flutter", "run"],但热重载仍需在终端按 r

所有构建、部署、重载都必须走终端,Sublime 只负责写代码。最容易被忽略的是:GUI 启动的 Sublime 从不继承 shell 环境变量,哪怕 flutter doctor 在终端全绿,编辑器里照样报错——重启前不改 Settings – User 的 path,其他都是白忙。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime sublime text

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
flutter框架优缺点
flutter框架优缺点

Flutter框架的作用是帮助开发者快速高效地开发出高性能、高保真、跨平台的移动应用。想了解更多flutter的相关内容,可以阅读本专题下面的文章。

2023.12.22

3172

6

flutter和uniapp区别
flutter和uniapp区别

flutter和uniapp的区别:1、开发语言不同;2、性能表现不同;3、组件库不同;4、跨平台支持不同;5、生态圈不同;6、开发环境搭建;7、开发难度;8、社区支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.22

2669

5

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

2026.02.13

675

15

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

2026.10.10

80

15

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

2026.10.10

40

15

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

2026.10.10

20

15

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

2026.10.10

20

26

C++类与对象的封装方法教程
C++类与对象的封装方法教程

C++封装是面向对象编程的核心特性之一,通过类将数据与操作数据的函数组织在一起,并利用访问权限控制外部访问。本专题介绍类的定义、成员变量、成员函数以及public、private和protected的使用方法,帮助初学者掌握封装的基本原理。

2026.10.10

20

32

C++构造函数定义与调用方法
C++构造函数定义与调用方法

C++构造函数用于初始化类对象,是面向对象编程的重要基础。本专题从构造函数的定义、声明和调用入手,介绍默认构造函数、带参数构造函数、拷贝构造函数及成员初始化列表,帮助初学者掌握对象创建与初始化的基本方法。

2026.10.10

20

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程