Dart-Code

Dart and Flutter support for VS Code

MIT License

Stars
1.5K
Committers
60

Bot releases are hidden (Show)

Dart-Code - Dart Code v2.13.0 Beta 2

Published by DanTup over 6 years ago

A beta release of v2.13.0. Install by downloading the attached vsix file and running the Extensions: Install from VSIX command from the VS Code Command Palette.

Provisional release notes are available here:

https://dartcode.org/releases/v2-13/

Dart-Code - Dart Code v2.13.0 Beta 1

Published by DanTup over 6 years ago

Note: This beta had a bug in Pub/Flutter commands, please use Beta 2 for testing!

A beta release of v2.13.0. Install by downloading the attached vsix file and running the Extensions: Install from VSIX command from the VS Code Command Palette.

Provisional release notes are available here:

https://dartcode.org/releases/v2-13/

Dart-Code - Dart Code v2.13.0 Preview 2

Published by DanTup over 6 years ago

An early dev build for testing. May be unstable!

Dart-Code - Dart Code v2.12.0

Published by DanTup over 6 years ago

Installation

Dart Code can be installed from the Visual Studio Code Marketplace.

Release notes are available at dartcode.org/releases/v2-12/

Dart-Code - Dart Code v2.12.0 Beta 2

Published by DanTup over 6 years ago

A beta release of v2.12.0. Install by downloading the attached vsix file and running the Extensions: Install from VSIX command from the VS Code Command Palette.

Provisional release notes are available at dartcode.org/releases/v2-12/

Dart-Code - Dart Code v2.12.0 Experimental Windows Drive Letter Build

Published by DanTup over 6 years ago

A build with an flag to force all Windows drive letters to uppercase. Not recommended for general testing (yet)!

Dart-Code - Dart Code v2.12.0 Beta 1

Published by DanTup over 6 years ago

A beta release of v2.12.0. Install by downloading the attached vsix file and running the Extensions: Install from VSIX command from the VS Code Command Palette.

Provisional release notes are available at dartcode.org/releases/v2-12/

Dart-Code - Dart Code v2.12.0 Alpha 1

Published by DanTup over 6 years ago

Dart-Code - Dart Code v2.11.2

Published by DanTup over 6 years ago

Dart Code can be installed from the Visual Studio Code Marketplace.

Release notes are available at dartcode.org/releases/v2-11/

Dart-Code - Dart Code v2.11.1

Published by DanTup over 6 years ago

Dart Code can be installed from the Visual Studio Code Marketplace.

Release notes are available at dartcode.org/releases/v2-11/

Dart-Code - Dart Code v2.11.0

Published by DanTup over 6 years ago

Dart Code can be installed from the Visual Studio Code Marketplace.

Release notes are available at dartcode.org/releases/v2-11/

Dart-Code - Dart Code v2.11.0 Beta 2

Published by DanTup over 6 years ago

A beta containing v2.11.0 changes. Download the vsix file above and see instructions here for installing. Once v2.11.0 ships to the marketplace you will receive the update as normal.

New since Beta 1

  • Restarting while debugging flutter test will no longer try to restart using flutter run
  • Projects inside bin, cache or folders more than 3 levels deep will no longer be included in the "upgrade to Workspace Folders" prompt (you may still manually add these with File -> Add Folder to Workspace)
  • Pressing F5 without a launch.json will now launch more scripts without configuration (scripts inside test, bin and tool)
  • The SDK quick-picker will now longer show an error if configured folders contain symlinks to Dart binaries
  • The extension should no longer crash if you press F5 in a non-Dart file

Changes also in Beta 1

Flutter Test

Basic support for flutter test has been added. If you launch a file (by pressing F5 with no launch config, or by setting program in your launch config) that is inside the test folder of a Flutter project, the script will be run using flutter run. Output will appear in the Debug Console pane. All debugging functionality (breakpoints, etc.) should work as normal.

Flutter Test

Projects in Sub-Folders

When projects are found in sub-folders you will now be prompted to mark them as Workspace folders. This will allow Dart Code to better understand which folders are projects when detecting which debugger to run when pressing F5.

Projects in Sub-Folders

Note: VS Code will duplicate these workspace folders in the top level of explorer - please +1 this VS Code issue to allow this to be configurable.

Silent Extension Reloads

Many operations in Dart Code require re-initialising the extension. This was previously done by prompting the user to "Reload Window" which resulted in a visible disruption and all extensions re-initialising. In this version Dart Code silently re-initialises itself meaning no more prompts for actions such as changing SDKs. Since this operation still terminates and restarts the Dart analysis server it may take a few moments to re-analyze your project.

SDK Picker for Flutter

The Flutter version number now appears on the status bar and allows quickly switching SDKs by clicking onit (this functionality already existed for Dart). Set the dart.flutterSdkPaths setting to an array of SDK folders (or folders containing SDKs) to use this. Note: This does not change your Flutter channel but relies on having multiple versions of the SDK in different folders (you can do this without multiple clones by using git worktree as shown in our Travis script).

SDK Picker for Flutter

Other Changes

  • dart.previewDart2 now explicitly sends --no-preview-dart-2 when set to false to allow opting-out of the Dart 2 preview once it becomes the default in Flutter Beta 2 (if undefined, neither flag will be sent)
  • The setting dart.previewDart2 now works for Dart CLI apps in addition to Flutter (note: your Dart SDK must support it, which currently means you must be using a v2.0 dev release)
  • Errors when launching Flutter projects (such as when you have not accepted Android licenses) will now appear in the Debug Console
  • Flutter's Full Restart is now bound to Ctrl+F5 by default during a debugging session
  • Flutter: New Project will now validate that you do not call your project flutter or flutter_test which would lead to confusing errors about depending on itself
  • The flutter/flutter repository will once again be treated as a Flutter project rather than a Dart one, meaning it will use Flutter's version of the Dart SDK and start the flutter daemon
  • The extension will no longer crash if you try to opened a Flutter project without a Flutter SDK but with a Dart SDK in your PATH
  • The display of the workspace symbols has been updated to include file paths in addition to class names
  • The document symbol list will no longer list constructor invocations within Flutter projects
  • The document symbol list (Ctrl+Shift+O) now uses the same API as the workspace symbol list (as updated in the previous version) when your SDK supports it, resulting in more consistent rendering between document/workspace lists
  • Running Pub: Get Packages, Pub: Upgrade Packages, Flutter: Get Packages or Flutter: Upgrade Packages directly from the command palette will now switch between flutter and pub based on the project type
  • Commands like Pub: Get Packages will no longer fail if your Dart SDK is in a folder with parentheses in the name
  • Code completion will no longer insert unwanted parentheses or colons that already exist ahead of the cursor when typing quickly
  • Code completion for named arguments will no longer insert placeholders but instead automatically re-trigger code completion where the value should be provided
  • Dart and Flutter version numbers will no longer show in the status bar when the active file is not a Dart file
  • The SDK quick-picker will now include your current SDK even if it's not included via the dart.sdkPaths/dart.flutterSdkPaths settings
  • A new option (dart.vmAdditionalArgs) has been added to pass custom arguments to the VM when launching Dart CLI apps

Preview Features available in this version

Dart-Code - Dart Code v2.11.0 Beta 1

Published by DanTup over 6 years ago

A beta containing v2.11.0 changes. Download the vsix file above and see instructions here for installing. Once v2.11.0 ships to the marketplace you will receive the update as normal.

Flutter Test

Basic support for flutter test has been added. If you launch a file (by pressing F5 with no launch config, or by setting program in your launch config) that is inside the test folder of a Flutter project, the script will be run using flutter run. Output will appear in the Debug Console pane. All debugging functionality (breakpoints, etc.) should work as normal.

Flutter Test

Projects in Sub-Folders

When projects are found in sub-folders you will now be prompted to mark them as Workspace folders. This will allow Dart Code to better understand which folders are projects when detecting which debugger to run when pressing F5.

Projects in Sub-Folders

Note: VS Code will duplicate these workspace folders in the top level of explorer - please +1 this VS Code issue to allow this to be configurable.

Silent Extension Reloads

Many operations in Dart Code require re-initialising the extension. This was previously done by prompting the user to "Reload Window" which resulted in a visible disruption and all extensions re-initialising. In this version Dart Code silently re-initialises itself meaning no more prompts for actions such as changing SDKs. Since this operation still terminates and restarts the Dart analysis server it may take a few moments to re-analyze your project.

SDK Picker for Flutter

The Flutter version number now appears on the status bar and allows quickly switching SDKs by clicking onit (this functionality already existed for Dart). Set the dart.flutterSdkPaths setting to an array of SDK folders (or folders containing SDKs) to use this. Note: This does not change your Flutter channel but relies on having multiple versions of the SDK in different folders (you can do this without multiple clones by using git worktree as shown in our Travis script).

SDK Picker for Flutter

Other Changes

  • dart.previewDart2 now explicitly sends --no-preview-dart-2 when set to false to allow opting-out of the Dart 2 preview once it becomes the default in Flutter Beta 2 (if undefined, neither flag will be sent)
  • The setting dart.previewDart2 now works for Dart CLI apps in addition to Flutter (note: your Dart SDK must support it, which currently means you must be using a v2.0 dev release)
  • Errors when launching Flutter projects (such as when you have not accepted Android licenses) will now appear in the Debug Console
  • Flutter's Full Restart is now bound to Ctrl+F5 by default during a debugging session
  • Flutter: New Project will now validate that you do not call your project flutter or flutter_test which would lead to confusing errors about depending on itself
  • The flutter/flutter repository will once again be treated as a Flutter project rather than a Dart one, meaning it will use Flutter's version of the Dart SDK and start the flutter daemon
  • The extension will no longer crash if you try to opened a Flutter project without a Flutter SDK but with a Dart SDK in your PATH
  • The display of the workspace symbols has been updated to include file paths in addition to class names
  • The document symbol list will no longer list constructor invocations within Flutter projects
  • The document symbol list (Ctrl+Shift+O) now uses the same API as the workspace symbol list (as updated in the previous version) when your SDK supports it, resulting in more consistent rendering between document/workspace lists
  • Running Pub: Get Packages, Pub: Upgrade Packages, Flutter: Get Packages or Flutter: Upgrade Packages directly from the command palette will now switch between flutter and pub based on the project type
  • Commands like Pub: Get Packages will no longer fail if your Dart SDK is in a folder with parentheses in the name
  • Code completion will no longer insert unwanted parentheses or colons that already exist ahead of the cursor when typing quickly
  • Code completion for named arguments will no longer insert placeholders but instead automatically re-trigger code completion where the value should be provided
  • Dart and Flutter version numbers will no longer show in the status bar when the active file is not a Dart file
  • The SDK quick-picker will now include your current SDK even if it's not included via the dart.sdkPaths/dart.flutterSdkPaths settings
  • A new option (dart.vmAdditionalArgs) has been added to pass custom arguments to the VM when launching Dart CLI apps

Preview Features available in this version

Dart-Code - Dart Code v2.10.0

Published by DanTup over 6 years ago

Dart Code can be installed from the Visual Studio Code Marketplace. Open VS Code Quick Open (Ctrl+P) and paste the following and press enter:

ext install dart-code

Changes

  • When the Dart or Flutter SDK could not be located, a "Locate SDK" button is shown to allow browsing to the SDK manually
  • The Run Flutter Doctor command is now available outside of having a Flutter project open
  • Many Flutter debug toggles (debug painting, performance overlay, slow mode banner, slow animations) will now persist across a Full Restart
  • Exception tooltips will now show the toString() of the exception rather than just the type name
  • Exception information will now show in the Variables debugger pane
  • Searching for symbols across the workspace now uses a much faster API (this requires a very recent SDK build and will fall back to the slower method for older SDKs)
  • The dependency tree explorer now shows file icons
  • Refactorings from the lightbulb menu are now keybindable! See the readme for full details
  • The Flutter SDK is now correctly detected from the .packages file of a project on Windows
  • If your Flutter SDK does not yet have a cached Dart SDK a more appropriate message will now be shown
  • Code completion tabstops may now provide more specific completion suggestions for some actions
  • A spinner will now be shown in the status bar during Flutter build progress messages
  • Previously hidden settings for debug log files are now visible to aid completion/validation when setting them

Preview Features available in this version

Dart-Code - Dart Code v2.10.0 Beta 2

Published by DanTup over 6 years ago

A beta containing v2.10.0 changes. Download the vsix file above and see instructions here for installing. Once v2.10.0 ships to the marketplace you will receive the update as normal.

Changes

New since Beta 1

  • Refactorings from the lightbulb menu are now keybindable! See the readme for full details
  • Exception information will now show in the Variables debugger pane
  • The dependency tree explorer now shows file icons

Changes also in Beta 1

  • When the Dart or Flutter SDK could not be located, a "Locate SDK" button is shown to allow browsing to the SDK manually
  • The Run Flutter Doctor command is now available outside of having a Flutter project open
  • Many Flutter debug toggles (debug painting, performance overlay, slow mode banner, slow animations) will now persist across a Full Restart
  • Exception tooltips will now show the toString() of the exception rather than just the type name
  • Searching for symbols across the workspace now uses a much faster API (this requires a very recent SDK build and will fall back to the slower method for older SDKs)
  • The Flutter SDK is now correctly detected from the .packages file of a project on Windows
  • If your Flutter SDK does not yet have a cached Dart SDK a more appropriate message will now be shown
  • Code completion tabstops may now provide more specific completion suggestions for some actions
  • A spinner will now be shown in the status bar during Flutter build progress messages
  • Previously hidden settings for debug log files are now visible to aid completion/validation when setting them

Preview Features available in this version

Dart-Code - Dart Code v2.10.0 Beta 1

Published by DanTup over 6 years ago

A beta containing v2.10.0 changes. Download the vsix file above and see instructions here for installing. Once v2.10.0 ships to the marketplace you will receive the update as normal.

Changes

  • When the Dart or Flutter SDK could not be located, a "Locate SDK" button is shown to allow browsing to the SDK manually
  • The Run Flutter Doctor command is now available outside of having a Flutter project open
  • Many Flutter debug toggles (debug painting, performance overlay, slow mode banner, slow animations) will now persist across a Full Restart
  • Exception tooltips will now show the toString() of the exception rather than just the type name
  • Searching for symbols across the workspace now uses a much faster API (this requires a very recent SDK build and will fall back to the slower method for older SDKs)
  • The Flutter SDK is now correctly detected from the .packages file of a project on Windows
  • If your Flutter SDK does not yet have a cached Dart SDK a more appropriate message will now be shown
  • Code completion tabstops may now provide more specific completion suggestions for some actions
  • A spinner will now be shown in the status bar during Flutter build progress messages
  • Previously hidden settings for debug log files are now visible to aid completion/validation when setting them

Preview Features available in this version

Dart-Code - Dart Code v2.9.2

Published by DanTup over 6 years ago

Dart Code can be installed from the Visual Studio Code Marketplace. Open VS Code Quick Open (Ctrl+P) and paste the following and press enter:

ext install dart-code

Changes

  • Running Flutter: New Project will no longer complain about missing SDKs if dart is not in your PATH

Preview Features available in this version

Dart-Code - Dart Code v2.9.1

Published by DanTup over 6 years ago

Dart Code can be installed from the Visual Studio Code Marketplace. Open VS Code Quick Open (Ctrl+P) and paste the following and press enter:

ext install dart-code

Changes

  • A more appropriate error message is now shown when running Flutter: New Project when Flutter cannot be found

Preview Features available in this version

Dart-Code - Dart Code v2.9.0

Published by DanTup over 6 years ago

Dart Code can be installed from the Visual Studio Code Marketplace. Open VS Code Quick Open (Ctrl+P) and paste the following and press enter:

ext install dart-code

Changes

  • A new command (Flutter: New Project) has been created to simplify the process of creating and opening a new Flutter project (unlike others, this command is in the palette even without a project open)
  • Flutter and Dart debuggers have been merged, you will no longer be asked to choose between Flutter and Dart when running new projects!
    • As part of this, the type attribute on launch configurations in your launch.json will be automatically changed from dart-cli/flutter to dart upon opening the project
  • Flutter projects no longer require a launch.json file if being launched with default arguments; if you hit F5 in a project without one it will just launch immediately
  • If your packages are missing or out of date you will be prompted to run pub get/flutter packages get upon loading your project (this can be disabled with the new dart.promptToFetchPackages setting, which can be set at the folder level)
  • Snippets have been added for Flutter widgets (stless, stful, stanim) and will show only inside Flutter projects
  • Quick Fixes and other code actions that insert code now support tab stops and selections (for example the Wrap with new widget assist will now select the text widget for you to type over)
  • Code completions will no longer insert parentheses/argument placeholders if they are already present
  • Code completions will now longer insert named argument placeholders if a value is already present
  • A spinner will be shown in the status bar during analysis
  • A spinner will be shown in the status bar while Flutter/Pub commands are running
  • Quick fixes will now be sorted in the lighbulb menu by the severity of the error that they fix
  • Quick fixes and code assists are now categorised as QuickFix and Refactor in Code to allow for keybinding a specific type
  • SDKs will now be listed by version number in the SDK picker
  • Snippets will no longer be prioritised over other completions in the completions list
  • A workaround for a change in VS Code 1.20 that causes breakpoints to not be hit on Windows has been implemented
  • Package restore commands will now be terminated and re-run if you invoke them again while they are already running (this includes if you change pubspec.yaml and save)
  • Due to a number of issues with the implementation, external files (SDK, packages) will no longer open read-only (this behaviour may be restored in some form in future)
  • Executing package restore commands in a workspace that has no pubspec.yaml on Windows will no longer get the extension stuck in a loop
  • Saving pubspec.yaml in a Dart project will no longer run flutter packages get if you have a Flutter project in the same workspace
  • Fetching flutter packages will no longer sometimes unexpectedly ask you for the workspace folder to run the command in
  • Opening a Dart file outside of a folder will no longer show errors in the developer console
  • A new setting (dart.previewDart2) has been added which allows you to opt-in to Dart 2 behaviour such as optional new/const (you must be using an SDK that supports this!)

Preview Features available in this version

Dart-Code - Dart Code v2.9.0 Beta 4

Published by DanTup over 6 years ago

A release candidate containing v2.9.0 changes. Download the vsix file above and see instructions here for installing. Once v2.9.0 ships to the marketplace you will receive the update as normal.

Changes

  • A new setting (dart.previewDart2) has been added which allows you to opt-in to Dart 2 behaviour such as optional new/const (you must be using an SDK that supports this!)
  • A new command (Flutter: New Project) has been created to simplify the process of creating and opening a new Flutter project (unlike others, this command is in the palette even without a project open)
  • Code completions will no longer insert parentheses/argument placeholders if they are already present
  • Code completions will now longer insert named argument placeholders if a value is already present
  • Due to a number of issues with the implementation, external files (SDK, packages) will no longer open read-only (this behaviour may be restored in some form in future)
  • Snippets will no longer be prioritised over other completions in the completions list
  • Flutter and Dart debuggers have been merged, you will no longer be asked to choose between Flutter and Dart when running new projects!
    • As part of this, the type attribute on launch configurations in your launch.json will be automatically changed from dart-cli/flutter to dart upon opening the project
  • Flutter projects no longer require a launch.json file if being launched with default arguments; if you hit F5 in a project without one it will just launch immediately
  • Snippets have been added for Flutter widgets (stless, stful, stanim) and will show only inside Flutter projects
  • If your packages are missing or out of date you will be prompted to run pub get/flutter packages get upon loading your project (this can be disabled with the new dart.promptToFetchPackages setting, which can be set at the folder level)
  • A workaround for a change (bug?) in VS Code 1.20 that causes breakpoints to not be hit on Windows has been implemented
  • Package restore commands will now be terminated and re-run if you invoke them again while they are already running (this includes if you change pubspec.yaml and save)
  • A spinner will be shown in the status bar during analysis
  • A spinner will be shown in the status bar while Flutter/Pub commands are running
  • Executing package restore commands in a workspace that has no pubspec.yaml on Windows will no longer get the extension stuck in a loop
  • Saving pubspec.yaml in a Dart project will no longer run flutter packages get if you have a Flutter project in the same workspace
  • Fetching flutter packages will no longer sometimes unexpectedly ask you for the workspace folder to run the command in
  • Quick Fixes and other code actions that insert code now support tab stops and selections (for example the Wrap with new widget assist will now select the text widget for you to type over)
  • SDKs will now be listed by version number in the SDK picker
  • Quick fixes will now be sorted in the lighbulb menu by the severity of the error that they fix
  • Quick fixes and code assists are now categorised as QuickFix and Refactor in Code to allow for keybinding a specific type
  • Opening a Dart file outside of a folder will no longer show errors in the developer console

Preview Features available in this version