Re: Any chance of compiling NVDA with VSCode?

Marlon Brandão de Sousa

Objectively speaking VSCode can use Microsoft c++ compiler as its c++ backend.

You would need to make sure all the needed components (header files, libs, DLLs and others) that Visual Studio installs automatically when you choose to install some components are installed and in folders that the c++ compiler can access and you would need to make sure that the commands scons perform such as midl and others are available in non visual studio installations.

Discovering which of them are available in the Microsoft c++ compiler installation itself and which are Visual Studio wrappers might take some time.

In general, you can use vscode to edit the c++ files. Things such as intelicense and others should work relatively but all of this in a computer where Visual Studio and dependencies are already installed.

If you want to go for non Visual Studio installs you would need to collect all dependencies Visual Studio installs and install by your self and make sure the version of the platform sdk NVDA uses and Visual c++ compiler are installed and probably play with scons scripts, which deserve their own section of experimentation in order to figure out.

This would be a huge thing to do.

Personally, I would like to have an automated way of having dlls compiled for a given commit by a build machine, because this would allow users with computers not able to run
Visual Studio to run NVDA locally. The vast majority of NVDA contributors do not need to play with the c++ code and it is probable that potential contributors from parts of the world where having a computer good enough to run VS 2019 (a very heavy package) is not so easy are probably blocked from contributing, even if they need to change only python.

The many many giga bites of storage that ARM related SDKs use might be an issue, even one having Visual Studio, because if they are only changing python they wouldn't need to compile arm to run locally, only x86 and x64.

Now that we have github actions may be we can generate pre compiled DLLs for every commit on master and allow folks just to download the package ratter than having to compile them all if they don't need or can not afford to compile them for whatever reason and need, never-the-less, run locally.

On 09/05/2020 20:04, James Scholes wrote:
Pretty sure VS Code is Visual Studio in name only.  I.e. it's not a stripped down version of Visual Studio, it's a completely different codebase and application.  NVDA needs access to components which ship with Visual Studio, rather than the IDE itself, so this isn't likely to make sense.


James Scholes

On 09/05/2020 at 6:00 pm, Alex Hall wrote:
Hey all,
The official way to compile NVDA is with Visual Studio. I've never used that application seriously, but in the last few months, I've come to really enjoy using VSCode. Is there any chance that NVDA could be compiled with VSCode instead of the full-blown Visual Studio application?

Alex Hall
Automatic Distributors, IT department
ahall@... <mailto:ahall@...>

Join to automatically receive all group messages.