Flutter VsCode error: You don't have an extension for debugging YAML - flutter

I get this error each time I try to start my app in VsCode
You don't have an extension for debugging YAML. Should we find a YAML
extension in the Marketplace?
It was working before I add a font in pubspec.yaml, restarted my app and it didn't work anymore. I tried to restart VsCode, undo my changes, launch "flutter pub get" many times but nothing seems to work.

Click on "open a file", then navigate to the main.dart file and then click debug and run.

This mostly happens when you current file is the pubspec.yaml file. Just close or switch the main.dart or any .dart file. And it will work. Worked for me.

Just select main.dart file to start your app
Click debug and run.

The reason is that you are clicking on "Run and Debug" when you are at pubspec.yaml file. Just close it and go to main.dart and then Click on "Run and Debug".

Add .vscode/launch.json in your root folder
{
"version": "0.2.0",
"configurations": [
{
"name": "flutter_project", //<- Your Project Name
"request": "launch",
"type": "dart",
"program": "lib/main.dart"
},
{
"name": "Flutter",
"type": "dart",
"request": "launch",
"program": "lib/main.dart"
},
]
}

'For that go to RUN > ADD Configuration > Dart & Flutter'
This worked for me! Thanks Joris

It seems that Dart & Flutter run configuration has to be selected.
For that go to RUN > ADD Configuration > Dart & Flutter

Related

Setup launch.json file for Flutter web using local Flutter version

I have installed Flutter in my mac inside my root folder: /[root]/flutter and I use it on project A.
Now I need to use a different version of Flutter for project B (flutter web), so I cloned Flutter inside project B's root directory.
I know that to run it, I have to launch ./flutter/bin/flutter run but how can I setup launch.json for VScode?
Here is my launch.json file:
{
"version": "0.2.0",
"configurations": [
{
"name": "Web",
"type": "dart",
"request": "launch",
"deviceId": "chrome",
"args": [
??
]
},
]
}
I think that if I use it, then it will use the standard Flutter in my mac root and not the Flutter inside the project folder.
How can I edit the launch in a way that if I click on the play button in VScode then it will run ./flutter/bin/flutter run?
I'm not interested to use tools like FVM
Open command palette, enter Preferences: Open User Settings.
Search Flutter Sdk Paths. Add additional flutter sdk from there.
Open flutter project. Do Flutter: Change SDK in the command palette.

How to add --no-sound-null-safety on a single run/debug on vscode (Flutter)?

On vscode, when try run or debug using "Run" or "Debug" button, the runner doesn't add --no-sound-null-safety argument.
How to configure vscode to add --no-sound-null-safety argument?
If using vscode. create .vscode/launch.json in project root and add
"args": [
"--no-sound-null-safety"
]
complete code :-
"version": "0.2.0",
"configurations": [
{
"name": "YOUR_PROJECT_NAME",
"program": "lib/main.dart",
"request": "launch",
"type": "dart",
"args": [
"--no-sound-null-safety"
]
}
]
}`
For IDE run arguments/configuration
Search for "Flutter run additional args"
in your user settings and add --no-sound-null-safety .
Paste the command in the item field and click ok as we already added one command.
For Test configuration
Search for "Flutter test additional args" in your user settings and add --no-sound-null-safety . Do the same process as on the above picture and add this command.
after all, you will be able to run unsound null or hybrid apps with debug button
I added these items to the settings.json file.
{
"dart.flutterTestAdditionalArgs": ["--no-sound-null-safety"],
"dart.flutterAdditionalArgs": ["--no-sound-null-safety"],
"dart.vmAdditionalArgs": ["--no-sound-null-safety"]
}
follow these instruction
Goto:
File -> Preferences -> Settings
Then search:
Flutter run additional args
Then Add new arg like this
--no-sound-null-safety
Then simply run
Also can follow image
then do this

Is it possible to specify the Flutter SDK path for the VSCODE extension?

I am having the setup that my flutter-sdk lives inside the projects root because I am using a version management system (FVM). When I run my programs from the console I run 'fvm flutter run' from the console but I also want to be able to start a debugging session with that SDK in the projects root ...
therefore my question is if it is possible to specify the SDK path for launching a Flutter App in debug mode and if how would i do it?
In vscode press ctrl+shift+p, search for 'set flutter sdk', and you can identify your Flutter installations and dart as well. You can edit this manually also in the settings.json.
You can try this, and create a launch.json, by going to Run in VScode menu, then Add Configurations,
add the following, mind you, your project's directories.
{
"configurations": [
{
"program": "lib/main.dart",
"name": "YOUR APP NAME",
"cwd": "/home/u/Projects/fireflutter/live-projects/YOUR_PROJECT_FOLDER/",
"type": "dart",
"request": "launch",
"flutterMode": "debug",
"args": [
// "--web-port",
// "8080",
// "--no-sound-null-safety",
// pass your arguments here, whatever you would type
//in the terminal when you would use i.e
//flutter run --no-sound-null-safety[I love null safety by the way,
//but this is a common problem for people who still want to opt out of it.
],
}
],
"dart.flutterSdkPath": "/home/u/Downloads/sdks/flutter",
"dart.sdkPath": "/home/u/Downloads/sdks/flutter/bin/dart",
}
If you get an error saying Error: spawn /bin/sh ENOENT, it means that your path is incorrect, and you have to fix either your program or cwd or name. Please update on the result of this.

Trouble getting Flutter to run in debug mode in VS Code

I am able to run my Flutter project in an emulator in Android Studio. I'm trying to run that same code in debug mode (f5) in VS Code, but I get an error saying:
Set the 'program' value in your launch config (eg 'lib/main.dart') then launch again.
So I updated my launch config to the following:
{
"version": "0.2.0",
"configurations": [
{
"name": "Dart & Flutter",
"request": "launch",
"type": "dart",
"program": "lib/main.dart"
}
]
}
After that update, when I try f5 I get the following error:
Your launch config references a program that does not exist. If you have problems launching, check the "program" field in your ".vscode/launch.json" file.
I DO have a main.dart file??
Any help would be greatly appreciated.
instead of "program": "lib/main.dart" try "flutterMode": "debug"
{
"version": "0.2.0",
"configurations": [
{
"name": "Dart & Flutter",
"request": "launch",
"type": "dart",
"flutterMode": "debug"
}
]
}
For some reason, VS Code was using the launch config from a different project folder that was in my workspace. After removing that project, f5 worked as expected.
flutter run would help, In my case first run flutter doctor , later do resolve missing configs as mentioned and then Flutter run

Unable to debug flutter dart code in VS Code, Unverified Breakpoint error

When the code is not running, I can add breakpoint (round red circle), but as soon as it goes into debug mode, it turns into unverified breakpoint (grey hollow circle) and doesn't work at all. However, the same project works well on other systems.
I've no idea what the problem is or what the solution would be.
I've tried reinstalling flutter SDK numerous times, and have gone through a lot of links on SOF and GitHub regarding this, but none has been helpful enough.
Environment - VS Code,
Flutter version: 1.17.2
Flutter doctor -
[✓] Flutter (Channel stable, v1.17.2, on Mac OS X 10.15.3 19D76, locale en-GB)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, set ANDROID_SDK_ROOT to that location.
You may also want to add it to your PATH environment variable.
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
[!] Android Studio (not installed)
[✓] VS Code (version 1.45.1)
[✓] Connected device (1 available)
! Doctor found issues in 2 categories.
My launch.json File -
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Flutter: Run all Tests",
"type": "dart",
"request": "launch",
"program": "./test/"
},
{
"name": "Dart: Run all Tests",
"type": "dart",
"request": "launch",
"program": "./test/"
},
{
"name": "Dart",
"type": "dart",
"request": "launch",
"program": "bin/main.dart"
},
{
"name": "Dart: Attach to Process",
"type": "dart",
"request": "attach"
},
{
"name": "Flutter",
"request": "launch",
"type": "dart"
}
]
}
Also, If you know any good alternatives to VSCode and Android Studio for Flutter, please share.
i came from mac and always use fn + f5, on windows that means start withouth debugggin, that was my mistake.
"version": "0.2.0",
"configurations": [
{
"name": "Flutter",
"request": "launch",
"type": "dart",
"flutterMode": "debug"
}
]
}
This is my launch.json file ... changing "flutterMode" from profile to debug solved the issue ... if you dont have this line adding it could help.
For anybody running into this problem while trying to debug external libraries or sdk code: Make sure you checked "Dart: Debug External Libraries" and "Dart: Debug Sdk Libraries" under Settings > Extensions > Dart & Flutter as described here.
You can also add the following to your settings.json
"dart.debugExternalLibraries": true,
"dart.debugSdkLibraries": true,
Clicking Run on the top menu in VS code and selecting 'Enable all breakpoints' worked for me. Though you have to place your breakpoint first.
You can also try placing your breakpoint and save your code, then leave the emulator running and close and restart your vs code IDE and run the app with debugging.
For flutter-web I had to change back to <base href="/"> within the web/index.html. A custom href lead to a none-debuggable project.
Navigate to the Run Tab and select Dart & Flutter from the drop down menu, finally hit the play button.
Your main.dart file's path is not specified right.
so in this block
"name": "Dart",
"type": "dart",
"request": "launch",
"program": "bin/main.dart"
please use
"program": "lib/main.dart"
I was also facing the same issue, I am looking for the exact reason but removing the launch.json file worked for me.
Have faced the same issue, resolved by stopping the current active session and click on RUN and select START DEBUGGING. This worked for me.
I faced the same problem with debug in certain dart files, but the other files I could.
Then I realized that it happened when I call another file and this trick would help:
Instead of typing:
import '../form/productdetail.dart';
I replaced with:
import 'package:myapp/form/productdetail.dart';
and it helped.
I had a similar problem. I solved by completely uninstalling and reinstalling Vscode + remove the data. See here
In my case, the parents folder contains special character (#):
.../#Projects/my_project/
Remove the # and the debug goes well:
.../Projects/my_project/
I had a similar problem. My platform is Ubuntu 20.04. I was setting the breakpoint in vscode expecting the vscode debugger to work immediately, but no. After an hour of googling, I hit the Flutter docs on the DevTools page.
To resolve :
Open your flutter project in vscode.
Follow the 'Install from VS Code' section of the docs to install DevTools.
Start your emulator, wait for it to completely load up.
Select Run => Start Debugging.
Check that app is running as expected in the emulator.
Select commandPalette => Dart:Open DevTools => 'Open DevTools in web browser'. The DevTools dashboard opens in a new browser tab.
Select the Debugger tab.
Open the relevent code file and add your breakpoint by clicking the leftmost breakpoint column at the required line.
Progress your app by clicking the emulator UI. Vscode debugger should stop at your breakpoint.
Use the vscode debugging controls thereafter.
Try to rebuild your launch.json file.
Remove the old file from the .vscode directory in vscode, then goto Run and Debug window and create a new launch file.