In April 2021 Microsoft announced a new version of its IDE – Visual Studio 2022 – while also announcing that the IDE would be 64-bit. We've been waiting for this for so long – no more 4 GB memory limitations! However, as it turned out, it's not all that simple...
![](http://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/hub/158/3a0/ad0/1583a0ad048e5e22d30119cd16b8537f.png)
18.73
Rating
Visual Studio *
Integrated development environment (IDE) from Microsoft
Show first
- New
- Top
Rating limit
- All
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
VSCode: how to view reports of static analyzers that support SARIF
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/upload_files/71c/e0c/5fb/71ce0c5fb581fc3585ab25e0760a7fd2.png)
People increasingly start optimizing the process of finding code errors using static analyzers. Nowadays, we can choose from a variety of products to view analysis results. This post covers the ways how to view an analyzer report in the most stylish and feature-rich IDE among multifunctional ones – VSCode. The SARIF format and a special plugin for it allow us to perform our task. Keep reading to find out about this. Let's get going!
Nullable Reference will not protect you, and here is the proof
![image1.png](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/30d/8bd/3c1/30d8bd3c1040f014485bc84ba2d169c6.png)
Have you ever wanted to get rid of the problem with dereferencing null references? If so, using Nullable Reference types is not your choice. Do you want to know why? This will be our topic today.
Analyze your builds programmatically with the C++ Build Insights SDK
We’re happy to announce today the release of the C++ Build Insights SDK, a framework that gives you access to MSVC build time information via C and C++ APIs. To accompany this release, we are making vcperf open source on GitHub. Because vcperf itself is built with the SDK, you can use it as a reference when developing your own tools. We’re excited to see what sort of applications you’ll be building with the SDK, and we’re looking forward to receiving your feedback!
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/yc/iy/i8/yciyi8hvnc5-mmakcc9qfp_5avc.png)
Read more →![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/yc/iy/i8/yciyi8hvnc5-mmakcc9qfp_5avc.png)
MSVC Backend Updates in Visual Studio 2019 Versions 16.3 and 16.4
Versions 16.3 and 16.4 of Visual Studio 2019 brought many new improvements in code generation quality, build throughput, and security. If you still haven’t downloaded your copy, here is a brief overview of what you’ve been missing out on.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/0a9/5c8/986/0a95c89866f8ccbb65f4889fa5f92a58.gif)
Read more →![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/0a9/5c8/986/0a95c89866f8ccbb65f4889fa5f92a58.gif)
What’s New in Visual Studio 2019 version 16.5 Preview 2 for C++, Xamarin, and Azure Tooling Experiences
Last week, Visual Studio 2019 version 16.5 Preview 2 was released, bringing many new features and improvements for developers in Visual Studio to help you build better software faster. Please read some highlights of new features and improved developer experiences in this page.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/tl/xo/jk/tlxojk7l2bjofhuqmq1jklojft0.png)
Install this preview side-by-side with your Visual Studio release and try these highlighted features without replacing your current development environment.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/yv/-a/rb/yv-arbncjsdihzmcefufk87rzwy.png)
Read more →![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/tl/xo/jk/tlxojk7l2bjofhuqmq1jklojft0.png)
Install this preview side-by-side with your Visual Studio release and try these highlighted features without replacing your current development environment.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/yv/-a/rb/yv-arbncjsdihzmcefufk87rzwy.png)
Python in Visual Studio Code – January 2020 Release
We are pleased to announce that the January 2020 release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. If you already have the Python extension installed, you can also get the latest update by restarting Visual Studio Code. You can learn more about Python support in Visual Studio Code in the documentation.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/95a/334/895/95a3348951cabdd2e63a7720bbe762d4.gif)
Read more →![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/95a/334/895/95a3348951cabdd2e63a7720bbe762d4.gif)
Play «osu!», but Watch Out for Bugs
Hi, all of you collectors of exotic and plain bugs alike! We've got a rare specimen on our PVS-Studio test bench today – a game called «osu!», written in C#. As usual, we'll be looking for bugs, analyzing them, and playing.
Visual Studio for Mac: Take Control of Your IDE with Keybindings
The great debates in computing all have one common theme. Whether it is tabs vs. spaces or Vi vs. Emacs, the thread linking all these debates together is keyboard efficiency. The truth is, we spend tons of hours working in an application, and keyboard shortcuts become automatic to us, the same muscle memory that great pianists or sports players have. If you suddenly give a virtuoso pianist a piano where the keys are half as wide and the sharp/flat keys are below as opposed to above the natural keys, they will struggle to make even the most basic melodies while they learn the new arrangement. Likewise, when it comes to keyboard shortcuts in your favorite IDE, any change can be disorienting quickly. Luckily, Visual Studio for Mac offers a ton of customizations to key bindings that will allow you get configure your key combinations to your liking.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/hk/sp/ev/hkspevuww4acqvpk8nxku32hgaq.png)
Read more →![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/hk/sp/ev/hkspevuww4acqvpk8nxku32hgaq.png)
Top 10 Bugs Found in C# Projects in 2019
![Picture 1](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/970/122/d8c/970122d8c4434832fba26edb674ff23d.png)
Hi to all fans of bugs! The New Year is coming soon, so it is time to take stock of the the outgoing year. By tradition, we're glad to present the top list of errors found by the PVS-Studio team in open C# projects in 2019. Ready? Then let's get going.
SARIF SDK and Its Errors
Azure SDK for .NET: Story about a Difficult Error Search
When we decided to search for errors in the Azure SDK for .NET project, we were pleasantly surprised by its size. «Three and a half million lines of code,» we kept saying, studying the project's statistics. There might be so many findings. Alas and alack! The project turned out to be crafty. So what was the zest of the project and how it was checked — read in this article.
AI-assisted IntelliSense for your team’s codebase
Visual Studio IntelliCode uses machine learning to offer useful, contextually-rich code completion suggestions as you type, allowing you to learn APIs more quickly and code faster. Although IntelliCode’s base model was trained on over 3000 top open source C# GitHub repositories, it does not include all the custom types in your code base. To produce useful, high-fidelity, contextually-rich suggestions, the model needs to be tailored to unique types or domain-specific APIs that aren’t used in open source code. To make IntelliSense recommendations based on the wisdom of your team’s codebase, the model needs to train with your team’s code.
Earlier this year, we extended our ML model training capabilities beyond our initial Github trained base model to enable you to personalize your IntelliCode completion suggestions by creating team models trained on your own code.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/jo/zt/kk/joztkkbm3d1zf17-0q7n10xjrzk.jpeg)
Read more →Earlier this year, we extended our ML model training capabilities beyond our initial Github trained base model to enable you to personalize your IntelliCode completion suggestions by creating team models trained on your own code.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/jo/zt/kk/joztkkbm3d1zf17-0q7n10xjrzk.jpeg)
Cool WSL (Windows Subsystem for Linux) tips and tricks
Microsoft corporate blog Configuring Linux *Visual Studio *Development for Linux *Development for Windows *
It's no secret I dig WSL (Windows Subsystem for Linux) and now that WSL2 is available in Windows Insiders Slow it's a great time to really explore the options that are available. What I'm finding is so interesting about WSL and how it relates to the Windows system around it is how you can cleanly move data between worlds. This isn't an experience you can easily have with full virtual machines, and it speaks to the tight integration of Linux and Windows.
Look at all this cool stuff you can do when you mix your peanut butter and chocolate!
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/tz/-o/2-/tz-o2-dh6mwb-vxgxwxeu_0ezha.png)
Read more →Look at all this cool stuff you can do when you mix your peanut butter and chocolate!
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/tz/-o/2-/tz-o2-dh6mwb-vxgxwxeu_0ezha.png)
Apply Nix-Shell environment in Visual Studio Code
Tutorial
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/41/gp/_e/41gp_emosvptu5py_t32zati-wo.png)
A lot of developers faced a problem with packages hell on their workstation. After a couple of months with experiments, including different languages and toolchains, I installed Elixir, Haskell-stack, Node.js/NVM, and other various stuff. Most exciting things happen when you need different versions of the same package for different projects. Humanity already invented a different solution for creating an isolated environment and switch them when needed. We are using NVM to manage Node.js versions, Python Virtual Env for selecting Python stuff versions or Docker for creating OS inside an OS. But none of the solutions satisfy all my requirements for the isolated development environment.
Remote SSH: Tips and Tricks
In a previous Remote SSH blog post, we went over how to set up a Linux virtual machine and connect to the VM using the Remote — SSH extension in Visual Studio Code. In this blog post, we'll go into some tips and tricks that you can use to get the most out of your remote setup.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/ln/ig/9-/lnig9-ilmx75m-wd9fjrdom0uvs.png)
Read more →![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/ln/ig/9-/lnig9-ilmx75m-wd9fjrdom0uvs.png)
Announcing Support for Native Editing of Jupyter Notebooks in VS Code
With October release of the Python extension, we’re excited to announce the support of native editing of Jupyter notebooks inside Visual Studio Code! You can now directly edit .ipynb files and get the interactivity of Jupyter notebooks with all of the power of VS Code.
You can manage source control, open multiple files, and leverage productivity features like IntelliSense, Git integration, and multi-file management, offering a brand-new way for data scientists and developers to experiment and work with data efficiently. You can try out this experience today by downloading the latest version of the Python extension and creating/opening a Jupyter Notebook inside VS Code.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/708/6c7/d16/7086c7d160f25d69b08a870d4aa1d08d.gif)
Since the initial release of our data science experience in VS Code, one of the top features that users have requested has been a more notebook-like layout to edit their Jupyter notebooks inside VS Code. In the rest of this post we’ll take a look at the new capabilities this offers.
Read more →You can manage source control, open multiple files, and leverage productivity features like IntelliSense, Git integration, and multi-file management, offering a brand-new way for data scientists and developers to experiment and work with data efficiently. You can try out this experience today by downloading the latest version of the Python extension and creating/opening a Jupyter Notebook inside VS Code.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/708/6c7/d16/7086c7d160f25d69b08a870d4aa1d08d.gif)
Since the initial release of our data science experience in VS Code, one of the top features that users have requested has been a more notebook-like layout to edit their Jupyter notebooks inside VS Code. In the rest of this post we’ll take a look at the new capabilities this offers.
Python in Visual Studio Code – October 2019 Release
We are pleased to announce that the October 2019 release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. If you already have the Python extension installed, you can also get the latest update by restarting Visual Studio Code. You can learn more about Python support in Visual Studio Code in the documentation.
In this release we addressed 97 issues, including native editing of Jupyter Notebooks, a button to run a Python file in the terminal, and linting and import improvements with the Python Language Server. The full list of enhancements is listed in our changelog.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/dd/iv/mk/ddivmkfyuvvxfseo3ah46cbzzjm.png)
Read more →In this release we addressed 97 issues, including native editing of Jupyter Notebooks, a button to run a Python file in the terminal, and linting and import improvements with the Python Language Server. The full list of enhancements is listed in our changelog.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/webt/dd/iv/mk/ddivmkfyuvvxfseo3ah46cbzzjm.png)
Introducing solution-level NuGet Package Management in Visual Studio for Mac
Visual Studio 2019 for Mac version 8.3 comes with many new features as summarized in this blog post. While the entirety of this release was greatly influenced by your feedback, having the ability to manage packages at the solution level was one of the capabilities that most of you expressed as lacking in Visual Studio for Mac. A new solution-level NuGet Package Manager is one of the exciting new features of Visual Studio 2019 for Mac version 8.3.
We’ve made improvements to help you discover packages more easily. This includes an improved experience while searching for new packages, gaining an understanding of what packages are already installed in your project, and finding packages that have updates available. In this blog post, we will focus on the package management experience for a Solution. However, most of the experiences including installing, updating, and viewing installed packages have a similar new experience at the project-level, too.
To launch the NuGet Package Manager for a Solution, you can go to the context menu for the Solution and select «Manage NuGet Package…»:
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/023/43b/162/02343b1625a33d8e2fe846b91751806f.gif)
Read more →We’ve made improvements to help you discover packages more easily. This includes an improved experience while searching for new packages, gaining an understanding of what packages are already installed in your project, and finding packages that have updates available. In this blog post, we will focus on the package management experience for a Solution. However, most of the experiences including installing, updating, and viewing installed packages have a similar new experience at the project-level, too.
To launch the NuGet Package Manager for a Solution, you can go to the context menu for the Solution and select «Manage NuGet Package…»:
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/023/43b/162/02343b1625a33d8e2fe846b91751806f.gif)
Visual Studio for Mac: Top Features of the New Editor
Over the past year, the Visual Studio for Mac team updated the editors within the IDE to be faster, more fluent and more productive. We did this by building a macOS-native editor interface on top of the same editor backend as Visual Studio on Windows. In version 8.1 we introduced the new C# editor. This was followed by the new XAML editor in 8.2. And most recently, we updated our web languages to utilize the new editors in version 8.3, completing the process we set out to do a year ago. To celebrate this accomplishment, I wanted to share a bit of detail regarding the design and implementation of the new editors along with my five favorite new features in the Visual Studio for Mac code editors.
At the core of the updated editors within Visual Studio for Mac is the shared language service with Visual Studio on Windows. What this means is that the same backend that powers the Windows version of Visual Studio now powers the macOS version as well. This includes IntelliSense, Roslyn, text logic, and all the language services behind the scenes. The only portion not shared between Windows and macOS is the UI layer, which stays native for each platform. In the case of macOS, that means using macOS frameworks like Cocoa and CoreText to power the UI experience. By using a native UI, while also being able to utilize support for native input methods as well as support for right-to-left languages, font ligatures and other advanced graphical features.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/65b/296/c8a/65b296c8a008bba18d9448f9bc8a5713.png)
Read more →At the core of the updated editors within Visual Studio for Mac is the shared language service with Visual Studio on Windows. What this means is that the same backend that powers the Windows version of Visual Studio now powers the macOS version as well. This includes IntelliSense, Roslyn, text logic, and all the language services behind the scenes. The only portion not shared between Windows and macOS is the UI layer, which stays native for each platform. In the case of macOS, that means using macOS frameworks like Cocoa and CoreText to power the UI experience. By using a native UI, while also being able to utilize support for native input methods as well as support for right-to-left languages, font ligatures and other advanced graphical features.
![](https://webcf.waybackmachine.org/web/20210920131905im_/https://habrastorage.org/getpro/habr/post_images/65b/296/c8a/65b296c8a008bba18d9448f9bc8a5713.png)
Authors' contribution
-
dmandreev 1042.2 -
XaocCPS 998.2 -
n0mo 587.0 -
sahsAGU 545.8 -
tangro 538.8 -
SvyatoslavMC 524.0 -
Andrey2008 480.2 -
maria_gore 437.4 -
msgeek 287.6 -
stasus 273.8