Flutter debug only open/specific files (Android Studio) - flutter

New to Flutter/Dart, and currently learning to debug with Android Studio (latest version Artic Fox) . When debugging I see options for: Step Over, Step Into, Step Out, Run to Cursor, etc.
When I debug, the debbugger opens new tabs with nested dart functions or classes (such as framework.dart, silver.dart, object.dart, etc). Those are not files I created, which I am not always interested on seeing them (at least for now).
I tried googling this topic, but I didn't find anything relevant. StackOverflow has a similar question (2 years old), but there was no solution.
Is there an option to debug only opened or specific .dart files? At times, I am only interested in debugging open files. Plus, it takes time close all the debugger opened tabs.

Related

Flutter VS Code Quick Fix not suggesting import

Everything worked fine until a couple of days ago. Whenever I create new widgets or create some files and want to use them, I don't manually type import package:... but start typing the name of that class and press ctrl + . which provided a list of Quick fixes and always suggested import package:... until recently. No changes to Windows / Flutter / Dart / VS Code have been made except I installed svg-explorer-extension after following this advice (which I would highly doubt affected anything, yet it still updated some x64 c++ distribution something).
Right now, as I try to use existing files (all of them are in */lib folder) in the new files I create, the Quick fix menu provides all except import package:... options which makes the development process slow enough to ask a question here.
The only way to 'recover' that functionality is to run Developer: Reload Window in VS Code which stops the debug session, restarts Dart Analyzer, and everything seems to be okay for the next couple of minutes until it simply disappears.
How to not 'lose' that importing functionality? My project is rather big (22k lines) with 30+ dependencies. I tried reinstalling flutter SDK, flutter, and dart extensions from VS Code and that didn't help.
What suggestions do you have? Is this issue worth filing an issue for Flutter / Dart / Flutter Extension on GitHub?
Happening with recently and was fixed with the restart to update option.
It was so annoying and wasted my 1 hour searching over google and StackOverflow.
I was also stucked in this issue and the real answer to this question according to my analysis is : always create new widgets or dart classes within lib folder. You can create different folders such as widgets, screens, models but always create them in lib folder dont create them at the root level. Your problem of import will be solved. Infact VSCode will auto-import them
You can refer to this image below and see how I organized my lib folder
[1]: https://i.stack.imgur.com/Yau5i.png

Need clarification on vs code debug

Can anyone explain these three debug symbols on VSCode I have found on the internet?
My vs code has the one with the play icon.
All demos online on debugging have the one in the middle. How do I get that?
Also, node js debugging is installed but I think it shows as disabled, with no option I can find to enable it.
To answer your question directly [TL;DR]: you already have it if you are using the latest version of vscode. It will take you to the same view as the one on the right
If you look at the codicon libray ref the middle one you pointed out is not present.
Visual Studio Code made changes in February 2020 ref that incorporates running and debugging to be something more harmonious:
User studies revealed that new users have difficulties finding how to run their programs in VS Code. One reason is that the existing "Debugging" functionality is not something that they relate to "Running" a program. For that reason, we are making "Run" more prominent in the UI.
The main menu Debug has become the Run menu.
The Run and Debug view has become the Run view and the corresponding Activity Bar icon now shows a large "Play" icon with a small "bug" decoration.
So in other words, there is no difference. The 'Run' and 'Debug' view is synonymous and the icon reflects those changes. As they noted, the Debug view is now called the 'Run' view, but it still offers debugging and breakpoints.
There are 2 possibilities you are running into however:
The tutorials and guides you are using are out-dated (showing an outdated version of vscode)
The tutorial or guide is using an extension that offers debugging capabilities. Extensions have some control over the icon you see
The extension is for single file debugging, according to the June 2020 ref notes, vscode recommends the following:
For debug extensions that want to improve the single file debug experience by adding a "Run" and/or "Debug" button to the editor, we recommend following these guidelines for a consistent look and feel:
Contribute Run and/or Debug commands in the package.json (see Mock Debug):
Use the command titles "Run File"/"Debug File" or "Run Python File"/"Debug Python File".
Use the $(play) icon for Run and $(debug-alt-small) for Debug.
Where their codicon library was updated in June to reflect the following:
As you can see, none of them are prefixed with verbiage like 'run', but they all represent the same functionality.
Additionally, you may see this icon as well:
This represents the panel (view) where the output of your debug will go.

How do I skip external files when debugging a Flutter app in VS Code? [duplicate]

This question already has answers here:
How do I skip external code when debugging in VS Code
(9 answers)
Closed 2 years ago.
I set a breakpoint because I want to investigate what's going on.
I step over/into
Suddenly it goes off to a different (external) file. It's a swirl of going back and forth to different files forever and after 15 minutes I'm still not in my file and don't know what bug I have.
How can I force the debugger to stay only in my file/or potentially only in my folder?
Question no.2. What's the diff btw step over and step into?
In VSCode, if you want to skip over files that you don't want to debug, usually files in your node_modules etc you can add a setting to tell VSCode to skip the files when debugging, so you can make the configuration only debug your code.
You have to add a setting skipFiles to you launch configuration, i.e. launch.json
Example:
"skipFiles": [
"<node_internals>/**",
"**/app/out/vs/**"
]
You can read more about excluding the files you don't want to debug here - Skipping uninteresting code (node, chrome)

No profile file found

Every time I start Visual Studio Code, the IDE pauses for a while, then the output window displays two instances of [Info] No profile file found. It does this for any folder I open, regardless of project type. I've uninstalled, then reinstalled VS Code, and even started disabling each extension separately to see which causes the error with no clear result. Any ideas?
Visual Studio Output Window
It seems like my problem's unique since nobody had a solution and I couldn't find any references to it elsewhere on the Internet. I finally just decided to start deleting my Visual Studio Code extensions, on the second one the problem went away.
Now you'll probably want to ask me what extension it was, but I'd rather not say. I submitted an issue to the developer of the extension and it will be (hopefully) fixed soon.

VSCode plugins and thoughts on alpha release

So I'm starting to guess Javascript wasn't the best choice for VSCode to be based on. It is pretty much the same as SublimeText and even slower, though the debugger and code intel is awesome and far beyond Sublime's capabilities.
The thing is I suddenly got a chrome-like inspector frame on the right side of the window, which caught my attention and got me googling about it (too bad almost nobody is talking about vscode yet so it's a pain to even find some info), and found out another person got the same weird issue. Somebody told him that F12 opens the inspector like a normal web app so you can look under the hood (which os most likely bullcrap since it makes no sense, probably just a bug).
The thing is I decided to test out keypresses, and discovered Fn+Shift+Cmd+F12 opens a new window with a weird button and a web inspector, which has no utility at all, but it's there so I got curious and messed up with it for a while. Bad idea since it crashed the entire app.
All this story has the point of warning about how Javascript is not as stable and independent as Objective C, since it's obviously working on top of V8 and Webkit and whatnot, any of which multiply its chances to crash.
Sublime has also crashed for me a couple times, but it does Atom Saving (operating system's native autosave that stores every change in the filesystem so app crashes don't affect the files).
VSCode is not native and is in a very alpa state (version 0.1.0 as today), so this is kind of a feedback for them and a warning for other users, posted here because there is a link for this stackoverflow community on their website, and is the only community-driven way of feedback they have.
I wish they open the development so others can contribute or, at least, do like SublimeText which isn't open but supports extensibility thru plugins and python console.
Now, the question:
Is there a way to make Sublime plugins work here?
The keybindings you have found are used by us internally to debug VSCode quickly in case we notice a problem. We simply forgot to remove them, kind of like how Ctrl+Alt+Delete happened :).
We will remove these keybindings with our next update, to avoid confusion, in a couple of weeks.
We have plans on supporting plugins, we have made progress on this story, but we were not happy enough with the API, and we decided to further validate and improve it before making it public, to avoid as much as possible future API breakage.
As for the actual question, it is not possible to run Sublime plugins in VSCode, for similar reasons why it is not possible to run Sublime plugins in Eclipse or in Visual Studio. There is, however the possibility of code sharing between plugins developed for different platforms, see for example Omnisharp, which is shipped with VSCode and for which there is a Sublime plugin.
You're complaining about VSCode being created using HTML, CSS and JavaScript and not something like C# or Objective C. You do realize that since day one the following Apple apps were made with a similar hybrid approach of Objective C and HTML, CSS and JavaScript. These are apps that millions of people use: iOS: iTunes app, iTunes Store app, App Store, and on desktop: iTunes, App Store.
Visual Studio Code is a preview, meaning something that just left alpha stage development and is in early, early, early beta, like just a week ago. So there are lots of things that are still missing or not totally working yet. The Visual Studio team is working at three-week sprints and intend to update the product at that pace, so if you've downloaded it, don't expect it to have every possible feature yet. This is a preview. Explore it. If it doesn't fit your current workflow, don't use it. Stick with what you have. But keep an eye on it because it will evolve steadily over the coming months.
I tried F12 in VSCode on windows and it opened the Dev Tools window, which makes sense since it's built on GIT's open source editor Atom & Chrome.
Sublime plugins? No, you can't use ST3 plugins in Atom, but hopefully we'll be able to use Atom plugins in VSCode once plugins are included in VSCode.
At the moment VSCode don't have any functionality for plugins, but it's coming soon see forum
There is also menu item under help in VSCode for reporting issues and suggesting features.
Me too would like Plugins for VS Code. As I would like a WakaTime plugin as I'm spending so much time working in it :). Both on Mac as in Windows.
I also discovered F12 one day but just thought: 'wow pretty cool!' and nothing more. But hey, I'm a webdev.. :)
It's now october and it's still there. And I hope it will stay. Just like crrl+alt+delete. #Sebastian I agree with #JimmyBoh, the whole preamble of this question is probably better suited to be put on a forum. Otherwise this question will probably be closed as 'not constructive'. To prevent other non-answers like this one :).