diff --git a/firebase.json b/firebase.json
index 35a80fff57..f4c702bf4b 100644
--- a/firebase.json
+++ b/firebase.json
@@ -806,6 +806,7 @@
{ "source": "/to/state-management-sample", "destination": "/data-and-backend/state-mgmt/simple", "type": 301 },
{ "source": "/to/switch-flutter-version", "destination": "/install/upgrade#switch-to-a-specific-flutter-version", "type": 301 },
{ "source": "/to/team-infra", "destination": "https://github.com/flutter/flutter/blob/main/docs/triage/Infra-Triage.md", "type": 301 },
+ { "source": "/to/test-drive", "destination": "/get-started/quick", "type": 301 },
{ "source": "/to/track-widget-creation", "destination": "/tools/devtools/inspector#track-widget-creation", "type": 301 },
{ "source": "/to/troubleshoot-devices", "destination": "/get-started/install", "type": 301 },
{ "source": "/to/unbounded-constraints", "destination": "/ui/layout/constraints#unbounded", "type": 301 },
diff --git a/src/content/assets/images/docs/get-started/increment-button.png b/src/content/assets/images/docs/get-started/increment-button.png
new file mode 100644
index 0000000000..c25b0d48a3
Binary files /dev/null and b/src/content/assets/images/docs/get-started/increment-button.png differ
diff --git a/src/content/get-started/install/index.md b/src/content/get-started/install/index.md
index fcf04de560..8df945d85d 100644
--- a/src/content/get-started/install/index.md
+++ b/src/content/get-started/install/index.md
@@ -1,7 +1,9 @@
---
title: Choose your development platform to get started
short-title: Install
-description: Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems.
+description: >-
+ Install Flutter and get started developing!
+ Downloads available for Windows, macOS, Linux, and ChromeOS operating systems.
os-list: [Windows, macOS, Linux, ChromeOS]
js: [{url: '/assets/js/page/install-current.js'}]
---
@@ -19,4 +21,13 @@ js: [{url: '/assets/js/page/install-current.js'}]
{% endfor %}
+:::tip Planning to use VS Code?
+Are you planning to use VS Code to develop Flutter apps?
+
+Try out the streamlined getting-started experience
+outlined in [Set up and test drive Flutter][]!
+
+[Set up and test drive Flutter]: /get-started/quick
+:::
+
{% render docs/china-notice.md %}
diff --git a/src/content/get-started/quick.md b/src/content/get-started/quick.md
new file mode 100644
index 0000000000..3475f86f1c
--- /dev/null
+++ b/src/content/get-started/quick.md
@@ -0,0 +1,485 @@
+---
+title: Set up and test drive Flutter
+short-title: Set up & test drive
+description: >-
+ Set up Flutter on your device with VS Code and
+ get started developing your first multi-platform app with Flutter!
+toc: false
+showBanner: false
+sitemap: false
+---
+
+Learn how to use VS Code to set up your Flutter development environment
+and test drive Flutter's developer experience.
+
+:::note What you'll achieve
+
+- Install the software prerequisites for Flutter.
+- Use VS Code to download and install Flutter.
+- Create a new Flutter app from a sample template.
+- Try out Flutter development features like stateful hot reload.
+
+:::
+
+## Confirm your development platform {: #dev-platform}
+
+The instructions on this page are configured to cover
+installing and test driving Flutter on a **Windows**{:.selected-os-text} device.
+
+If you'd like to follow the instructions for a different OS,
+please select one of the following.
+
+{% osSelector %}
+
+## Download prerequisite software {: #download-prerequisites}
+
+For the smoothest Flutter setup,
+first install the following tools.
+
+ 1.
Set up Linux support
+
+ If you haven't set up Linux support on your Chromebook before,
+ [Turn on Linux support][chromeos-linux].
+
+ If you've already turned on Linux support,
+ ensure it's up to date following the
+ [Fix problems with Linux][chromeos-linux-update] instructions.
+
+ 1. Download and install prerequisite packages
+
+ Using `apt-get` or your preferred installation mechanism,
+ install the latest versions of the following packages:
+
+ - `curl`
+ - `git`
+ - `unzip`
+ - `xz-utils`
+ - `zip`
+ - `libglu1-mesa`
+
+ If you want to use `apt-get`,
+ install these packages using the following commands:
+
+ ```console
+ $ sudo apt-get update -y && sudo apt-get upgrade -y
+ $ sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa
+ ```
+
+ 1. Download and install Visual Studio Code
+
+ To quickly install Flutter, then edit and debug your apps,
+ [install and set up Visual Studio Code][vscode-install].
+
+{: .steps .chromeos-only}
+
+ 1. Install the Xcode command-line tools
+
+ Download the Xcode command-line tools to get access to
+ the command-line tools that Flutter relies on, including Git.
+
+ To download the tools, run the following command in your preferred terminal:
+
+ ```console
+ $ xcode-select --install
+ ```
+
+ If you haven't installed the tools already,
+ a dialog should open that confirms you'd like to install them.
+ Click **Install**, then once the installation is complete, click **Done**.
+
+ 1. Download and install Visual Studio Code
+
+ To quickly install Flutter, then edit and debug your apps,
+ [install and set up Visual Studio Code][vscode-install].
+
+{: .steps .macos-only}
+
+ 1. Install Git for Windows
+
+ Download and install the latest version of [Git for Windows][].
+
+ For help installing or troubleshooting Git,
+ reference the [Git documentation][git-install].
+
+ 1. Download and install Visual Studio Code
+
+ To quickly install Flutter, then edit and debug your apps,
+ [install and set up Visual Studio Code][vscode-install].
+
+{: .steps .windows-only}
+
+ 1. Download and install prerequisite packages
+
+ Using your preferred package manager or mechanism,
+ install the latest versions of the following packages:
+
+ - `curl`
+ - `git`
+ - `unzip`
+ - `xz-utils`
+ - `zip`
+ - `libglu1-mesa`
+
+ On Debian-based distros with `apt-get`, such as Ubuntu,
+ install these packages using the following commands:
+
+ ```console
+ $ sudo apt-get update -y && sudo apt-get upgrade -y
+ $ sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa
+ ```
+
+ 1. Download and install Visual Studio Code
+
+ To quickly install Flutter, then edit and debug your apps,
+ [install and set up Visual Studio Code][vscode-install].
+
+{: .steps .linux-only}
+
+[chromeos-linux]: https://support.google.com/chromebook/answer/9145439
+[chromeos-linux-update]: https://support.google.com/chromebook/answer/9145439?hl=en#:~:text=Fix%20problems%20with%20Linux
+[Git for Windows]: https://git-scm.com/downloads/win
+[git-install]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
+[vscode-install]: https://code.visualstudio.com/docs/setup/setup-overview
+
+## Install and set up Flutter {: #install}
+
+Now that you've installed Git and VS Code,
+follow these steps to use VS Code to install and set up Flutter.
+
+:::note Download manually
+If you prefer to manually install Flutter,
+follow the instructions in [Install Flutter manually][].
+:::
+
+ 1. Launch VS Code
+
+ If not already open, open VS Code by searching for it with Spotlight
+ or opening it manually from the directory where it's installed.
+
+ 1. Add the Flutter extension to VS Code
+
+ To add the Dart and Flutter extensions to VS Code,
+ visit the [Flutter extension's marketplace page][flutter-vscode],
+ then click **Install**.
+ If prompted by your browser, allow it to open VS Code.
+
+ 1. Install Flutter with VS Code
+
+ 1. Open the command palette in VS Code.
+
+ Go to **View** > **Command Palette**
+ or press Cmd/Ctrl +
+ Shift + P.
+
+ 1. In the command palette, type `flutter`.
+
+ 1. Select **Flutter: New Project**.
+
+ 1. VS Code prompts you to locate the Flutter SDK on your computer.
+ Select **Download SDK**.
+
+ 1. When the **Select Folder for Flutter SDK** dialog displays,
+ choose where you want to install Flutter.
+
+ 1. Click **Clone Flutter**.
+
+ While downloading Flutter, VS Code displays this pop-up notification:
+
+ ```console
+ Downloading the Flutter SDK. This may take a few minutes.
+ ```
+
+ This download takes a few minutes.
+ If you suspect that the download has hung, click **Cancel** then
+ start the installation again.
+
+ 1. Click **Add SDK to PATH**.
+
+ When successful, a notification displays:
+
+ ```console
+ The Flutter SDK was added to your PATH
+ ```
+
+ 1. VS Code might display a Google Analytics notice.
+
+ If you agree, click **OK**.
+
+ 1. To ensure that Flutter is available in all terminals:
+
+ 1. Close, then reopen all terminal windows.
+ 1. Restart VS Code.
+
+ {:type="a"}
+
+ 1. Validate your setup
+
+ To ensure you installed Flutter correctly,
+ run `flutter doctor -v` in your preferred terminal.
+
+ If the command isn't found or there's an error,
+ check out [Flutter installation troubleshooting][troubleshoot].
+
+{:.steps}
+
+[Install Flutter manually]: /install/manual
+[flutter-vscode]: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
+[troubleshoot]: /install/troubleshoot
+
+## Test drive Flutter {: #test-drive}
+
+Now that you've set up VS Code and Flutter,
+it's time to create an app and try out Flutter development!
+
+ 1. Create a new Flutter app
+
+ 1. Open the command palette in VS Code.
+
+ Go to **View** > **Command Palette**
+ or press Cmd/Ctrl +
+ Shift + P.
+
+ 1. In the command palette, start typing `flutter:`.
+
+ VS Code should surface commands from the Flutter plugin.
+
+ 1. Select the **Flutter: New Project** command.
+
+ Your OS or VS Code might ask for access to your documents,
+ agree to continue to the next step.
+
+ 1. Choose the **Application** template.
+
+ VS Code should prompt you with **Which Flutter template?**.
+ Choose **Application** to bootstrap a simple counter app.
+
+ 1. Create or select the parent directory for your new app's folder.
+
+ A file dialog should appear.
+
+ 1. Select or create the parent directory where
+ you want the project to be created.
+ 1. To confirm your selection,
+ click **Select a folder to create the project in**.
+
+ 1. Enter a name for your app.
+
+ VS Code should prompt you to enter a name for your new app.
+ Enter `trying_flutter` or a similar `lowercase_with_underscores` name.
+ To confirm your selection, press Enter.
+
+ 1. Wait for project initialization to complete.
+
+ Task progress is often surfaced as a notification in the bottom right
+ and can also be accessed from the **Output** panel.
+
+ 1. Open the `lib` directory, then the `main.dart` file.
+
+ If you're curious about what each portion of the code does,
+ check out the preceding comments throughout the file.
+
+ 1. Run your app on the web
+
+ While Flutter apps can run on many platforms,
+ try running your new app on the web.
+
+ 1. Open the command palette in VS Code.
+
+ Go to **View** > **Command Palette**
+ or press Cmd/Ctrl +
+ Shift + P.
+
+ 1. In the command palette, start typing `flutter:`.
+
+ VS Code should surface commands from the Flutter plugin.
+
+ 1. Select the **Flutter: Select Device** command.
+
+ 1. From the **Select Device** prompt, select **Chrome**.
+
+ 1. Run or start debugging your app.
+
+ Go to **Run** >
+ **Start Debugging** or press F5.
+
+ `flutter run` is used to build and start your app,
+ then a new instance of Chrome should open and
+ start running your newly created app.
+
+ 1. Try hot reload
+
+ Flutter offers a fast development cycle with **stateful hot reload**,
+ the ability to reload the code of a live running app without
+ restarting or losing app state.
+
+ You can change your app's source code,
+ run the hot reload command in VS Code,
+ then see the change in your running app.
+
+ 1. In the running app, try adding to the counter a few times by
+ clicking the ![increment (+)][increment-button]{: .text-icon} button.
+
+ 1. With your app still running, make a change in the `lib/main.dart` file.
+
+ Change the `_counter++` line in the `_incrementCounter` method
+ to instead decrement the `_counter` field.
+
+ ```dart diff
+ setState(() {
+ // ...
+ - _counter++;
+ + _counter--;
+ });
+ ```
+
+ 1. Save your changes
+ (**File** > **Save All**) or
+ click the **Hot Reload** ![hot reload icon][]{: .text-icon} button.
+
+ Flutter updates the running app without losing any existing state.
+ Notice the existing value stayed the same.
+
+ 1. Try clicking the
+ ![increment (+)][increment-button]{: .text-icon} button again.
+ Notice the value decreases instead of increases.
+
+ 1. Explore the Flutter sidebar
+
+ The Flutter plugin adds a dedicated sidebar to VS Code
+ for managing Flutter debug sessions and devices,
+ viewing an outline of your code and widgets,
+ as well as accessing the Dart and Flutter DevTools.
+
+ 1. If your app isn't running, start debugging it again.
+
+ Go to **Run** >
+ **Start Debugging** or press F5.
+
+ 1. Open the Flutter sidebar in VS Code.
+
+ Either open it with the Flutter ![Flutter logo][]{: .text-icon} button in
+ the VS Code sidebar or open it from the command palette by
+ running the **Flutter: Focus on Flutter Sidebar View** command.
+
+ 1. If your app isn't running, start debugging it again.
+
+ Go to **Run** >
+ **Start Debugging** or press F5.
+
+ 1. In the Flutter sidebar, under **DevTools**,
+ click the **Flutter Inspector** button.
+
+ A separate **Widget Inspector** panel should open in VS Code.
+
+ In the widget inspector, you can view your app's widget tree,
+ view the properties and layout of each widget, and more.
+
+ 1. In the widget inspector, try clicking the top-level `MyHomePage` widget.
+
+ A view of its properties and layout should open, and
+ the VS Code editor should navigate to and focus the line where
+ the widget was included.
+
+ 1. Explore and try out other features in
+ the widget inspector and Flutter sidebar.
+
+{:.steps}
+
+[increment-button]: /assets/images/docs/get-started/increment-button.png
+[hot reload icon]: /assets/images/docs/get-started/hot-reload.svg
+[Flutter logo]: /assets/images/branding/flutter/logo/square.svg
+
+## Continue your Flutter journey {: #next-steps}
+
+**Congratulations!**
+Now that you've installed and tried out Flutter,
+explore some of the following docs to continue your Flutter learning journey.
+
+
+
+
+

+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+

+
+
+
+
+
diff --git a/src/content/reference/create-new-app.md b/src/content/reference/create-new-app.md
index 73b66c73ca..55a22e153e 100644
--- a/src/content/reference/create-new-app.md
+++ b/src/content/reference/create-new-app.md
@@ -103,9 +103,10 @@ Then follow these steps:
1. Select a project location
- A file dialog will appear.
- Select or create the parent directory where the project will be created.
- Do not create the project folder itself, the Flutter tool will do so.
+ A file dialog should appear.
+ Select or create the parent directory where
+ you want the project to be created.
+ Don't create the project folder itself, the Flutter tool does so.
To confirm your selection,
click **Select a folder to create the project in**.
@@ -119,7 +120,7 @@ Then follow these steps:
1. Wait for project initialization
Based on the information you entered,
- VS Code will use `flutter create` to bootstrap your application.
+ VS Code uses `flutter create` to bootstrap your app.
Progress is often surfaced as a notification in the bottom right
and can also be accessed from the **Output** panel.