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提示