Debug console in visual studio 2019 - windows

I am used to use the Visual Studio for mac and the debug console is integrated inside the application. The thing is that in Windows version when you debug, the console pops out which is a bit of annoying.
I wonder if there is any way to have it the same way in Visual Studio for Windows as well?

Don’t know what kind of project you are using, it seems you can try to change the Output type of the project, from Console Application to Windows Application(for debugging, right-click your project > Properties > Application > Output type). (I tested with console application)
And also consider this option: Tools > Options… > Debugging > General > Redirect all Output Window text to the Immediate Window.

Related

In VS 2017(15.7.0) on debug web project starts new instance of browser insted of open new tab in existing

Even when i make recommendations from this.
Screen of Debug options
How should i configure VS to open new tab in existing instance on default browser?
P.S. VS 2017 version 15.7.0
The only solution I found for the moment is to uncheck the "Stop debugger when the browser window is closed" in
Visual Studio > Options > Projects and Solutions > Web Projects

Visual Studio 2017 starts new instance of browser

I installed Visual Studio 2017 and it starts new instance of browser for web applications. I want to start it in the current opened browser, without any new instances (which closes when I stop debugging). Where is this setting?
This is a consequence of a new feature in VS 2017 that allows javascript running in Chrome, to be debugged inside Visual Studio. You can turn the feature off from
Tools > Options > Debugging > General > Enable JavaScript debugging for ASP.NET
The reason this feature requires a new instance of Chrome, is that the debugger connection requires Chrome to be launched with a specific command-line switch that can only be applied at process start, not to currently running processes.
The feature is explained in detail click here.
One other interesting note, is that opening Chrome's developer console, with F12, will have the side-effect of detaching Visual Studio's debugger from the browser.
You can solve this easily.
Go to "Tools" > "Options" > "Projects and Solutions" > "Web Projects"
Uncheck the item "Stop debugger when browser window is closed, close browser when debugging stops" > "Ok"
This should do the needful for you.

How to disable the new debug window in VS2017

I'm using Visual Studio 2017 RC and getting very frustrated with the new Chrome window that pops up when you click Debug.
Issues with the Debug Chrome Window:
Takes ages to start/"attach" website (I think it's attaching all the javascript debugging which I don't need because I use Chrome DevTools for that anyway)
Not dockable (as a tab) with other Chrome windows
Doesn't remember form history. If I'm testing out forms I can't autocomplete form data, so I have to type the whole lot out every time
Doesn't remember url history. If I'm testing a specific page on my site, I can't quickly select the url from Chrome url bar dropdown. Have to type the url in full
Extensions aren't enabled so I can't use my ruler or color picker extensions
Chrome window closes when debugging stops so I have to open up a new window to keep browsing the local site
Does anyone know how to disable this new Debug style window and go back to how it was in VS 2015?
I'm not sure if this came with the latest VS 2017 Update, but inside Debug -> Options you can disable it now.
Just uncheck the highlighted one:
For thoose, who have the 15.7 update and unchecking the JavaScript options doesn't do the trick, found a solution here:
https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/
Tools > Options > Projects and Solutions > Web Projects, uncheck “Stop debugger when browser window is closed”
This is not an issue, rather a new feature in VS 2017. Previously we could only debug JS and TypeScript using IE in debug mode (of VS). But now they have introduced debugging JS and TS inside VS using Remote Debugging feature of Chrome. If you are running your application in debug mode (pressing F5) and Chrome is selected browser, Visual studio 2017 will try to open a remote debugging session with Chrome on a dedicated port. With remote debugging,
The browser is launched in plain mode, i.e. no extension and no history etc. Remote debuggin doesnt work with an existing instance of Chrome already running.
You always see this window for a while. At this point, VS is trying to attach the remote debugger to VS
To go back to VS 2015 experience of debugging, change the debugging target from Chrome to IIS Express.
This post describes this feature in detail. https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/
A kind of quick work around is to press F5 and launch the debug
session and forget about the newly opened Chrome window. Go to your
normal Chrome instance and just open your site in new tab. You will
still be able to debug and do everything because IIS Express will
still be running your app at that port.
Update:
The answer given below by #Steveadoo is the right way going forward. The option shown in his screenshot controls how chrome is launched for debugging. Uncheck it if you want to stick to your regular Chrome instance.
Hope this helps.
For VS 2017, Go to Tools -> Options -> Projects and solutions-> web projects and uncheck the last option as shown in image.
Also you can refer here: https://www.johanbostrom.se/blog/how-to-disable-the-built-in-chrome-from-starting-when-debugging-in-visual-studio-2017
Here is the Microsoft blog about this new functionality, and how to revert.
https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/
Here is the path I followed to disable:
Debug > Options > Debugging > General > (uncheck) Enable JavaScript debugging for ASP.Net (Chrome and IE).
In VS menu click:
Tools > Options > search for "browser projects" > untick the last option "Stop debugger when browser window is closed.
this will do the job.
Debug > Options > Debugging > General > (uncheck) Enable JavaScript debugging for ASP.Net (Chrome and IE).
Tools > Options > Projects and Solutions > Web Projects, uncheck “Stop debugger when browser window is closed”
works for me, visual studio professional 2017, v 15.7.3
I'm using Visual Studio 2017, and what worked for me is a combination of these two options:
Disable JavaScript debugging in Debug -> Options -> Debugging -> General Enable JavaScript debugging for ASP.Net.
Disable stop debugging when browser is closed in Debug -> Options -> Projects and Solutions -> Web Projects -> Stop debugger when browser windows is closed, close browser when debugging stops.
When I used only one of these two it did not work.
if you look to JavaScript case
For Enabling and Disabling JavaScript Debugging in VisualStudio is the same on all versions
Tools menu
Options...
Debugging -> General
Uncheck "Enable JavaScript debugging for ASP.NET"
In Visual Studio 2017:
If it prompts you again to turn JS debugger on again, choose another option (It will continue to prompt you if you have breakpoints in your script code):

Windows console appears when running Win32 application

When you compile a Win32 program using Visual studio I don't remember there was a console appears then the window shows up. In Code blocks and Netbeans the windows console appears when you run the program and the application's window appears. Should I care about this or there is some missing configuration ? I mean is there a way to disable the console ? Note that I started a C++ project in Netbeans and Win32 GUI project in Code blocks.
In Code::Blocks, right-click on the project name > Properties > Build Targets and change the "Type" drop-down menu from Console Application to GUI Application.
In Netbeans, Either switch to Release mode, or right click on project name > Properties > Linker and under Additional Options add the option -mwindows. Notice if you run the program as Debug the console windows will appear but running under explorer you will not see the console.

Visual Studio output window- what goes there and why?

Can someone please explain to me what goes to the Output window in VS? Where do the messages there come from and do they have other use other than for debbuging?
Thanks.
The Output window is a set of text panes that you can write to and read from. Visual Studio defines these built-in panes: Build, through which projects communicate messages about builds, and General, through which Visual Studio communicates messages about the integrated development environment (IDE). Projects receive a reference to the Build pane automatically through the IVsBuildableProjectCfg interface methods, and Visual Studio offers direct access to the General pane through the SVsGeneralOutputWindowPane service. In addition to the built-in panes, you can create and manage your own custom panes.
Output Window (Visual Studio SDK)
This panel shows the actual info, that is spit from your application to the console (no matter debug or run mode). Also building, rebuilding and cleaning your project is described as operations there.
Check F1 for more info ;)
By default it either shows output from the build process, or debugger output. You can use OutputDebugString to display text in the output window while debugging.
There's not much else you can do with it without using an Add-In for Visual Studio.

Resources