- Setup Flutter In Vs Code
- Visual Studio Cout Example
- Visual Studio Code Flutter
- Visual Studio Code Flutter Extension
- Visual Studio Code Flutter Shortcuts
This commands provides easy access to all Flutter widget sample applications. You will be shown a list of all available samples, and selecting one will open the sample in VS Code ready for you to run by pressing F5. Flutter: Run Flutter Doctor. This commands runs flutter doctor and shows the results in.
Dart Code adds a number of commands to the command palette (Ctrl
+Shift
+P
or Cmd
+Shift
+P
).
Install the Flutter extension (see Editor setup) to get automatic formatting of code in VS Code. To automatically format the code in the current source code window, right-click in the code window and select Format Document. You can add a keyboard shortcut to this VS Code Preferences. How to install Flutter in Visual Studio Code and run Android EmulatorFlutter installation steps with Visual Studio Code:1, Download Android Studio 20202,Dow. Introduction This VS Code extension adds support for effectively editing, refactoring, running, and reloading Flutter mobile apps, as well as support for the Dart programming language. Note: Projects should be run using F5 or the Debug menu for full debugging functionality. Running from the built-in terminal will not provide all features.
Adding Key Bindings for Commands
For information on key bindings, including how to add your own, see Key Bindings
Dart: Capture Logs
This command simplifies capturing logs for diagnosing issues. See the /docs/logging/ page for more info.
Dart: Complete Statement
This command will attempt to finish the current line you’re editing by adding things like closing brackets and semicolons before moving the cursor to the next line.
Dart: New Project
This command simplifies creation of new Dart projects by using stagehand. You will be asked to select a project type, enter a name for your project and pick a folder to create it in. The folder will be created and opened and all required files created automatically. A notification will appear once the creation process is complete and your project is ready to run.
Dart: Change SDK
If you have configured the dart.sdkPaths
setting then this command will allow you to quickly switch between Dart SDKs. See Quickly Switching Between SDK Versions for more info.
Dart: Go to Super Class/Method
This command goes to the super
implementation of the method or class under the caret.
Dart: Go to Test/Implementation File
This command jumps between a file and its corresponding test file in the editor. It will map lib/foo.dart
to test/foo_test.dart
and back. The command is only available when the current file can be mapped and the target file exists.
Dart: Show Type Hierarchy
This command displays the hierarchy for the current types in a pick list.
Dart: Rerun Last Debug Session
This command will re-run the last Dart debug session that has run. This can be useful if you ran a specific test from the CodeLens links or test tree and want to quickly re-run it without navigating back there.
Dart: Run Test At Cursor / Debug Test At Cursor
If the cursor is within a test method, these commands will execute the test (the same as clicking the Run or Debug CodeLens link).
Dart: Sort Members
This command sort all of the directives, unit and class members in the current Dart file.
Setup Flutter In Vs Code
Dart: Write Recommended Settings
This command writes all recommended settings to your VS Code user settings for the Dart language.
Pub: Get Packages
This command fetches Pub packages listed in your pubspec.yaml
and their dependencies for the current project. If invoked in a Flutter project this command will instead run Flutter: Get Packages
.
For more information on using packages see the Dart website.
Pub: Upgrade Packages
This command upgrades Pub packages to the latest version allowed by the constraints in your pubspec.yaml
for the current project. If invoked in a Flutter project this command will instead run Flutter: Upgrade Packages
.
For more information on using packages see the Dart website.
Flutter: New Application Project
This command simplifies the creation of new Flutter application projects. You will be asked for a name for your project and a folder to create it in. The folder will be created and opened automatically and all required files created automatically. A notification will appear once the creation process is complete and your project is ready to run.
For more information on getting started with your first app, see the Get Started: Test Drive section of the Flutter website.
Flutter: New Module Project
This command simplifies the creation of new Flutter module projects. You will be asked for a name for your project and a folder to create it in. The folder will be created and opened automatically and all required files created automatically. A notification will appear once the creation process is complete and your project is ready to run.
For more information on building a module to use in an existing iOS/Android app, see the Add Flutter to existing app section of the Flutter website.
Flutter: New Package Project
This command simplifies the creation of new Flutter package projects. You will be asked for a name for your project and a folder to create it in. The folder will be created and opened automatically and all required files created automatically. A notification will appear once the creation process is complete and your project is ready to run.
For more information on getting started with your first package, see the Developing Packages: Introduction section of the Flutter website.
Flutter: New Plugin Project
This command simplifies the creation of new Flutter plugin projects. You will be asked for a name for your project and a folder to create it in. The folder will be created and opened automatically and all required files created automatically. A notification will appear once the creation process is complete and your project is ready to run.
For more information on getting started with your first plugin, see the Developing Packages: Plugins section of the Flutter website.
Flutter: Open Widget Sample
This commands provides easy access to all Flutter widget sample applications. You will be shown a list of all available samples, and selecting one will open the sample in VS Code ready for you to run by pressing F5
.
Flutter: Run Flutter Doctor
This commands runs flutter doctor
and shows the results in the Output
pane.
For more information on using packages see the Flutter website.
Flutter: Clean Project
This commands runs flutter clean
to remove any existing build output for the current project.
Flutter: Select Device
If you have multiple devices or simulators connected then this command will allow you to quickly switch between Dart SDKs. See Quickly Switching Between Flutter Devices for more info.
Flutter: Change SDK
If you have configured the dart.flutterSdkPaths
setting then this command will allow you to quick switch between Flutter SDKs. See Quickly Switching Between SDK Versions for more info.
Flutter: Get Packages
This command fetches Flutter packages listed in your pubspec.yaml
and their dependencies for the current project. If invoked in a standard Dart project this command will instead run Pub: Get Packages
.
For more information on using packages see the Flutter website.
Visual Studio Cout Example
Flutter: Upgrade Packages
Visual Studio Code Flutter
This command upgrades Flutter packages to the latest version allowed by the constraints in your pubspec.yaml
for the current project. If invoked in a standard Dart project this command will instead run Pub: Upgrade Packages
.
Flutter: Save Screenshot
This commands runs flutter screenshot
to take a screenshot of the app running in the current debug session. Note: this command will not be available in the command palette unless there is a active debug session.
Flutter is not a build system.
I know, it’s a terrible way to start, but you have to accept that you need to produce a build system for Flutter. There are build systems written in Dart (such as this one), and I’m sure this situation will get better, but right now? There isn’t a good build system. So I use the node package manager.
Here is my basic flow:
Visual Studio Code Flutter Extension
- Run
npm init -y
. - Edit the produced
package.json
file to use flutter under the covers. - Run flutter with
npm start
instead of the usual flutter commands.
Here is my package.json
file as an example:
It’s nice and simple. Now, I have a requirement for a pre-build step. I need to copy some JSON configuration files from my backend to my front end so that the code knows where to look. I can easily add it to the package.json
:
Visual Studio Code Flutter Shortcuts
There are lots of CLI utilities you can use for handling the pre-build steps you want (or you can build your own). The cpy-cli
package copies files into a directory (cross-platform, so it works on both Mac and Windows), and the npm-run-all
package gives me the run-s
command for running NPM tasks sequentially (and thus allowing me to attach the pre-build task to multiple other tasks).
Now when I run npm start
, the configuration files are first copied over, and then my application is built and run.
Visual Studio Code
I don’t actually develop on the command line, however. When developing using Flutter, I use Visual Studio Code. This has a flutter debugger which I find useful. To run flutter from the debugger, you add a launch configuration. It looks like this:
The problem with this is that it bypasses my nice build system. However, Visual Studio Code can also execute tasks right before launching the debugger. First, define a task. Press Ctrl-Shift-P to bring up the command palette, and select Tasks: Configure Task. You should be able to go through the cofniguration to add the npm: copyClientConfiguration
task. In your .vscode/tasks.json
file, this is defined thusly:
You can now go back to the launch configuration (stored in .vscode/launch.json
), and add it as a preLaunchTask
:
When you launch the flutter application from the debug menu, it will first copy your configuration files into the project before building and launching your app. This duplicates the effect that I have configured with the command line build.