1596991620
Microsoft has some “best practice” advice to share on how to handle exceptions (a topic I’ve discussed elsewhere). The Microsoft article is well worth reading … but there’s one piece of advice that I disagree with (talk about hubris, eh?).
One of Microsoft’s recommended practices is that you should prefer to throw a built-in Exception class rather than your own, custom Exception class. The problem I see with this is that the built-in Exception objects return, at best, the technical reason for the exception (for example, “Division by zero”). Creating your own exception object allows you to specify the business reason for the failure (for example, “Customer has no sales orders”).
Personally, I think that the message with the business reason is more useful both to the user faced with the message and the developer who has to fix the problem. Instead, I recommend using a custom exception object and tucking the original Exception into your custom Exception object’s InnerException property. That gives you the best of both worlds.
#visual studio code #visual studio #code #new
1618243440
UPDATE: The book giveaway challenge is complete. We will be announcing winners on the Visual Studio blog within the next week. Thank you for your submissions!
Visual Studio is an amazing development tool. But Visual Studio and Visual Studio for Mac are more than just intuitive, state-of-the-art development environments. They’re also remarkably powerful learning and exploration tools, with features to help you create and understand your code. I love teaching and learning about C## with Visual Studio. That’s why my co-author, Jenny Greene, and I put Visual Studio and Visual Studio for Mac right at the center of our latest book, _Head First C# _(4th edition), published by O’Reilly Media. _Head First C# _incorporates Visual Studio directly in the learning. combining Visual Studio with the unique and innovative “brain-friendly” Head First approach to teaching helps us make learning C## easier and more fun for our readers.
#visual studio #c# #unity #visual studio 2019 for mac #visual studio for mac
1596991620
Microsoft has some “best practice” advice to share on how to handle exceptions (a topic I’ve discussed elsewhere). The Microsoft article is well worth reading … but there’s one piece of advice that I disagree with (talk about hubris, eh?).
One of Microsoft’s recommended practices is that you should prefer to throw a built-in Exception class rather than your own, custom Exception class. The problem I see with this is that the built-in Exception objects return, at best, the technical reason for the exception (for example, “Division by zero”). Creating your own exception object allows you to specify the business reason for the failure (for example, “Customer has no sales orders”).
Personally, I think that the message with the business reason is more useful both to the user faced with the message and the developer who has to fix the problem. Instead, I recommend using a custom exception object and tucking the original Exception into your custom Exception object’s InnerException property. That gives you the best of both worlds.
#visual studio code #visual studio #code #new
1595337660
Visual Studio v16.7 Preview 2 delivers various improvements in the C++ space. Within the Connection Manager, you’re now able to edit remote SSH connections, e.g. if the IP address of your target system changes and needs to be updated. You’re also able to set default remote connections to be consumed via **${defaultRemoteMachineName} **in CMakeSettings.json and launch.vs.json.
When you edit a remote connection, Visual Studio will no longer need to recopy headers to Windows for a native IntelliSense experience. Likewise, setting default remote connections is useful for checking CMakeSettings.json and launch.vs.json into source control with no user or machine-specific information. These remote connections over SSH allow you to build and debug your C++ projects on a remote Linux system directly from Visual Studio.
C++ Add or Remove SSH Connections with Connection Manager
This release also brings enhanced IntelliSense support for Clang on Windows (clang-cl) in Visual Studio. The clang include path now includes the clang libraries, we’ve improved the display of in-editor squiggles (particularly when using the std library), and we’ve added support for C++2a is supported in clang mode.
The Preview release also contains four new code analysis rules to incorporate additional safety features into C++: C26817, C26818, C26819, and C26820. Please see the C++ Team Blog for more info.
In addition, new C++20 Standard Library features have been implemented. A detailed list is provided in the STL Changelog on GitHub.
Quick Info now displays the diagnostic ID along with a help link where you can easily navigate to our documentation to learn more about warnings and errors in your code.
Diagnostic ID with help links in .NET Productivity
We continue to release more Git functionality in Visual Studio 2019. This time we focus on merge conflict resolution. We’ve revamped the Visual Studio merge editor by decoupling it from TFVC and focusing it on Git.
A new gold info bar at the top of a file will tell you when there are merge conflicts that need to be manually resolved. Clicking will take you to the merge editor, which now has more informative tiles and captions to help you distinguish between the conflicting branches. We’ve reduced the clutter around the zoom margin, health margin, and the toolbar. In addition, it is easier to parse conflicts with aligned matching lines, word level differences, and visible whitespace when it is the only difference. You can turn off non-conflicting differences to just focus on the conflicts. You can also resolve add/add conflicts at the file level now with a two-way merge. Finally, we have added a checkbox to resolve all conflicts on one side or the other with a single click.
Try the new features by toggling the Preview Feature for New Git user experience in Tools > Options.
Improved Git Functionality in Visual Studio 2019 under the Tools Menu
In other Git improvements, we will now close any open folders or solutions before starting a new clone operation, so that Visual Studio can open the newly cloned repo to help you get to your code faster. We’ve improved upon the commit text box, adding inline error checking. And we’ve added UI to help you more clearly understand what is happening when you initialize and push a repository to a remote host like GitHub or Azure Repos.
Local Process with Kubernetes allows you to write, test and debug your .NET code on your development workstation while connected to your Kubernetes cluster with the rest of your application or services. By connecting your development workstation to your cluster, you eliminate the need to manually run and configure dependent services on your development machine. Environment variables, connection strings and volumes from the cluster are available to your microservice code running locally.
For more information on Local Process with Kubernetes, we have detailed it out in our team blog.
#visual studio #announcement #visual studio 2019 #visual studio code
1596975120
Join Mads Kristensen from the Visual Studio team each week as he builds extensions for Visual Studio live!
#visual studio code #visual studio #code #microsoft #visual studio extensions
1597525200
We’re joined by Matt Gertz who will take us down memory lane to share some insights into the history of Visual Studio.
#visual studio code #visual studio #code #remotework