Topics

Any chance of compiling NVDA with VSCode?

Alex Hall
 

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@...

James Scholes
 

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.

Regards,

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@...>

Brian's Mail list account
 

So what is vs code for then? Just a quick and dirty way of writing small projects?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "James Scholes" <james@...>
To: <nvda-devel@groups.io>
Sent: Sunday, May 10, 2020 12:04 AM
Subject: Re: [nvda-devel] Any chance of compiling NVDA with VSCode?


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.

Regards,

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@...>

Joel
 

Hi guys,

I've only recently started trying VSCode so don't take what I say as gospel...

VSCode is in the fancy code editor space as opposed to being a traditional IDE like Visual Studio or Eclipse or InteliJ or pick your poison. It's based on ElectronJS. It has nothing to do with the Visual Studio code base. If you want to develop in languages other than Javascript running on NodeJS (and I think it natively supports Typescript as well), you need to install plugins. Python, for example, is one of the most popular plugins.

Alex, look in the main github repo for NVDA, https://github.com/nvaccess/nvda, and search for "VSCode". It will take you to a section of the readme.md describing how to install some configuration to use VSCode for NVDA development. You'll still need to install Visual Studio Community Edition with all the packages listed in the readme.md. I haven't tried this but would be surprised if it doesn't work.

Cheers, Joel

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Brian's Mail list account via groups.io
Sent: Sunday, May 10, 2020 12:41 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] Any chance of compiling NVDA with VSCode?

So what is vs code for then? Just a quick and dirty way of writing small projects?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message -----
From: "James Scholes" <james@...>
To: <nvda-devel@groups.io>
Sent: Sunday, May 10, 2020 12:04 AM
Subject: Re: [nvda-devel] Any chance of compiling NVDA with VSCode?


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.

Regards,

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@...>

Alex Hall
 

Thanks for the responses, everyone. Joel, I'll give that a shot and see what happens.

I didn't really consider the libraries and packages VS installs, but it makes sense now that people point it out. After all, to make something like NVDA into an executable, it needs a bunch of DLLs for WX and other components. I remember running into some really weird problems when running py2exe on anything using WX, where I had to locate specific versions of DLL files before the packager gave me a valid executable. I guess I figured all that would be included in the code base, but it also makes sense to just rely on the IDE to provide the right files in the right places.


On Mon, May 11, 2020 at 9:34 AM Joel <Joeldodson@...> wrote:
Hi guys,

I've only recently started trying VSCode so don't take what I say as gospel...

VSCode is in the fancy code editor space as opposed to being a traditional IDE like Visual Studio or Eclipse or InteliJ or pick your poison.  It's based on ElectronJS.  It has nothing to do with the Visual Studio code base.  If you want to develop in languages other than Javascript running on NodeJS (and I think it natively supports Typescript as well), you need to install plugins.  Python, for example, is one of the most popular plugins.

Alex, look in the main github repo for NVDA, https://github.com/nvaccess/nvda, and search for "VSCode".  It will take you to a section of the readme.md describing how to install some configuration to use VSCode for NVDA development.  You'll still need to install Visual Studio Community Edition with all the packages listed in the readme.md.  I haven't tried this but would be surprised if it doesn't work.

Cheers, Joel


-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Brian's Mail list account via groups.io
Sent: Sunday, May 10, 2020 12:41 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] Any chance of compiling NVDA with VSCode?

So what is vs code for then? Just a quick and dirty way of writing small projects?
 Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message -----
From: "James Scholes" <james@...>
To: <nvda-devel@groups.io>
Sent: Sunday, May 10, 2020 12:04 AM
Subject: Re: [nvda-devel] Any chance of compiling NVDA with VSCode?


> 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.
>
> Regards,
>
> 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@...>
>>
>
>
>










--
Alex Hall
Automatic Distributors, IT department
ahall@...

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.

Regards,

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@...>