3

Technically, it seems to be possible to use Visual Studio Code as IDE for C++ development in combination with the Microsoft C++ Build Tools (2019), see https://code.visualstudio.com/docs/cpp/config-msvc. But the license agreement for the Microsoft C++ Build Tools 2019 seem to forbid that:

"You may install and use any number of copies of the software to use solely with Visual Studio Community, Visual Studio Professional, and Visual Studio Enterprise, to develop and test your applications."

There is no Visual Studio Code mentioned. I do not get this.

(My initial concern was to evaluate if it is legal to use the combination in a commercial application without purchasing a license from Microsoft for Visual Studio.)

2

I see no reason to doubt your conclusion; since it's not allowed by the license it's forbidden by copyright.

As you figured it, you gain the right to use these tools by obtaining one of those 3 Visual Studio licenses. A Visual Studio Code license is free, so it makes business sense that it doesn't include a license for Microsoft C++ Build Tools. I.e. you can't claim it's an "obvious oversight", as there's a justifiable business reason.

| improve this answer | |
  • 1
    Visual Studio Community is also available free of charge, so there goes the business reason. This is almost certainly an oversight by Microsoft given that they support you using it in their official documentation and raising it as an issue on the appropriate Github repository for the extension will almost certainly cause the build tools to be relicensed (Microsoft is pretty good about that these days). – Moo Feb 29 at 6:11
  • 3
    @Moo: Community is free only for small businesses or Open Source. It's entirely possible that Microsoft will relicense it for VSCode too, but the legal answer is that it's not allowed. – MSalters Mar 2 at 8:06
  • I have also checked the license information for the c++ extension of visual studio code. There are no exceptions w.r.t build tools. So, finally, the official tutorial strongly encourages to violate Microsoft's license agreement. Incredible. Thanks for double-checking. – user61383 Mar 2 at 10:15
0

Which license agreement are you referring to? I found this one: https://visualstudio.microsoft.com/license-terms/mt644918/

And by the looks of it, you can use it.

INSTALLATION AND USE RIGHTS.

One user may use copies of the software to develop and test their applications.

They updated how to use C++ build tool with VS Code and added this note:

Note: You can use the C++ toolset from Visual Studio Build Tools along with Visual Studio Code to compile, build, and verify any C++ codebase as long as you also have a valid Visual Studio license (either Community, Pro, or Enterprise) that you are actively using to develop that C++ codebase.

The license referred to above is for Build Tools prior to VS 2019. All this is probably linked to the fact they discontinued VS Express after 2017. One solution would be to use the Build Tools of 2017 with VS Code. Compilers are binary compatible.

| improve this answer | |
  • It also sounds like they implicitly tell you that you can't use it for free for development in business if your business is not in the category which allows the use of Community edition. – grovkin Oct 8 at 16:29
  • The license you found appears to be a valid license from Microsoft, which covers "MICROSOFT VISUAL C++ BUILD TOOLS" without being limited to a specific version. As that license is not conditional on a specific Visual Studio license, unlike the one from the question, you seem to have found a way to legally use the Build Tools with VS Code. The license may have been written in 2017, but Visual Studio has used years in version numbers since VS 2001. The lack of a year here must be interpreted as meaning "any of those build tools, regardless of the version thereof". – MSalters Oct 9 at 23:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.