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

 

posted @ 2021-12-14 17:32  z.seven  阅读(293)  评论(0编辑  收藏  举报