vscode调试dart
安装flutter stable
配置环境变量
PUB_CACHE=X:\pub\Cache
PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub
FLUTTER_WEB_CANVASKIT_URL=https://cdn.jsdelivr.net/npm/canvaskit-wasm@0.24.0/bin/
PATH添加“X:\flutter\bin”
vscode安装扩展dart
创建项目:
dart create demo
cd demo
编辑pubspec.yaml
name: demo
description: demo
publish_to: 'none'
version: 1.0.0
environment:
sdk: ">=2.14.0-383.0.dev <3.0.0"
flutter: ">=2.5.0-6.0.pre.30 <3.0.0"
dependencies:
flutter:
sdk: flutter
characters: 1.2.0
collection: 1.15.0
meta: 1.7.0
typed_data: 1.3.0
vector_math: 2.1.1
dev_dependencies:
integration_test:
sdk: flutter
flutter_driver:
sdk: flutter
flutter_test:
sdk: flutter
flutter_tools:
sdk: flutter
test: 1.17.12
_fe_analyzer_shared: 30.0.0
analyzer: 2.7.0
archive: 3.1.6
args: 2.3.0
async: 2.8.2
boolean_selector: 2.1.0
charcode: 1.3.1
cli_util: 0.3.5
clock: 1.1.0
convert: 3.0.1
coverage: 1.0.3
crypto: 3.0.1
fake_async: 1.2.0
file: 6.1.2
frontend_server_client: 2.1.2
glob: 2.0.2
http_multi_server: 3.0.1
http_parser: 4.0.0
io: 1.0.3
js: 0.6.3
logging: 1.0.2
matcher: 0.12.11
mime: 1.0.1
node_preamble: 2.0.1
package_config: 2.0.2
path: 1.8.0
pedantic: 1.11.1
pool: 1.5.0
pub_semver: 2.1.0
shelf: 1.1.4
shelf_packages_handler: 3.0.0
shelf_static: 1.1.0
shelf_web_socket: 1.0.1
source_map_stack_trace: 2.1.0
source_maps: 0.10.10
source_span: 1.8.1
stack_trace: 1.10.0
stream_channel: 2.1.0
string_scanner: 1.1.0
sync_http: 0.3.0
term_glyph: 1.2.0
test_api: 0.4.3
test_core: 0.4.2
vm_service: 7.3.0
watcher: 1.0.1
web_socket_channel: 2.1.0
webdriver: 3.0.0
webkit_inspection_protocol: 1.0.0
yaml: 3.1.0
flutter:
uses-material-design: false
cd example/api
flutter run -d windows lib/painting/gradient/linear_gradient.0.dart
编辑bin/demo.dart
编译example api,测试cmake
import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/process.dart'; import 'package:flutter_tools/src/globals.dart' as globals; void main(List<String> arguments) async { final Logger _logger = globals.platform.isWindows ? WindowsStdoutLogger( terminal: globals.terminal, stdio: globals.stdio, outputPreferences: globals.outputPreferences, ) : StdoutLogger( terminal: globals.terminal, stdio: globals.stdio, outputPreferences: globals.outputPreferences, ); final ProcessUtils _processUtils = ProcessUtils(processManager: globals.processManager, logger: _logger); String cmakePath = r'D:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe'; String sourcePath = r'D:\flutter\examples\api\windows'; String workerDir = r'D:\flutter\examples\api'; String buildPath = r'build\windows'; String generator = r'Visual Studio 17 2022'; int result = 0; try { result = await _processUtils.stream( <String>[cmakePath, '-S', sourcePath, '-B', buildPath, '-G', generator], workingDirectory: workerDir, trace: true, ); } on ArgumentError { print("cmake not found. Run 'flutter doctor' for more information."); } print(result); }
vscode提示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了