
Node.js Tools for Visual Studio - GravityWell
https://nodejstools.codeplex.com/
======
smortaz
(group lead here) Thanks GravityWell for posting.

We just got done giving a talk on NTVS & PTVS at Build in SF. The reception
was great (given this is a primarily .net conference). I did an informal poll
of the audience (180 or so), asking whether they were planning on deploying
node/python in their _enterprise_. The response was around 75-85% Yes to both,
which was somewhat higher that I had expected.

The cool new feature is this Beta are TypeScript integration, Remote debugging
(inc. linux), Edit&Continue (no server restart), free edition (NTVS + VS
Express), etc. and numerous bug fixes.

To address a few comments regarding strategy - most are correct, though some
are over thinking it a bit :). The project was proposed & started by the PTVS
(python) folks, and mgmt was rather lukewarm about it. It was definitely not
part of some uber P1 strategy. I wish it was. However, since then it's gained
some momentum thanks to the community and it's become important enough that
Scott Guthrie mentioned it in his keynote, and Soma (SVP for developer
division) just blogged about it.

a few new videos (pls excuse the production, we do our own videos...)

new npm UI (community contributed)
[https://www.youtube.com/watch?v=AwSzxFY5CMI](https://www.youtube.com/watch?v=AwSzxFY5CMI)

twitter sentiment app --
[https://youtu.be/9tf6HmG9VAA](https://youtu.be/9tf6HmG9VAA)

remote debugging
[https://www.youtube.com/watch?v=ZAroJmb6XY4](https://www.youtube.com/watch?v=ZAroJmb6XY4)

~~~
patja
It is great that the installation works with Express. Much preferable to the
approach taken by the Python Tools for VS requiring a separate installation of
the bare VS shell. They say they can't enable installation of PTVS on Express
because Express doesn't support extensions. I guess you aren't doing NTVS as
an extension. Any hope for getting PTVS to install on Express using whatever
method you are using?

~~~
smortaz
Thx. Happy to report that the restriction is gone. In fact you'll be able to
install PTVS in web and desktop express both! Release coming soon.

------
bananas
Perhaps I'm paranoid but I'm seeing a lot of tentacles extending around a few
ecosystems from Microsoft. I see lots of praise but some rational analysis and
caution might be worth considering.

For ref, I deal with Microsoft a lot and wrote a ton of c# over the least
decade (more than anything else probably) so I'm not biased against
necessarily but all-encompassing announcements like the ones over the last
couple of weeks make me suspicious.

Edit: to extend my thoughts on this some more:

I don't think we're seeing embrace and extend. I think we're seeing "go on -
use our tooling". Once you're in a tool ecosystem it's hard to get out of. I
mean really hard. Same goes with cloud ecosystems which neatly integrate with
their tooling. Their offering is to host all of your stuff (Azure) and mediate
between you and what you're working on (Office/VS/Xamarin potentially).

A fully heterogenous system with a sole vendor mediating your access becomes
an interesting situation when for political, financial or legal reasons you
want or need to leave.

~~~
GravityWell
I'm hardly an MS fanboy, and I'm not sure what announcements you're referring
to, but it's hard for me to see a downside to this.

------
jw2013
It's better late than never. It's just easier to say 'I quit' because it's
likely none of Node.js developers will switch to using Visual Studio rather
than give it a try. Though I probably will never use Visual Studio for writing
my Node.js project, kudos for MS not being the old MS.

So what's next for MS? I think they are getting the direction right for
opening up for external MS product users, and now it's time to recruit top
talent again. There are just too many great hackers think MS is old (just look
at some of replies in this story), which to large degree is true, and it will
take time to fix that, but it can be possible done with: 1) create openness
[culture, keep taking more open-source project like open-day-light, keep
opening tech inside MS to others, etc.]; 2) buy early-stage companies through
acqui-hire. It will be an uphill-battle and I am not an expert on this, and I
am very interested in what other people here on HN thinks.

~~~
taude
I think msft building this kind of tooling around exciting tech like node
gives node more credibility in a big enterprise type of shop...will only be a
good thing for node,

~~~
outside1234
Exactly. This is a play for the next tier of developers, which will mostly be
enterprise, mostly use Windows, and be much larger.

------
GravityWell
Note for those visiting the thread, I found one of the big things with this
release is the support for Edit & Continue:

[http://nodejstools.codeplex.com/releases/view/104141](http://nodejstools.codeplex.com/releases/view/104141)

[https://www.youtube.com/watch?v=ZAroJmb6XY4](https://www.youtube.com/watch?v=ZAroJmb6XY4)

It was in the original title, but has been edited out.

~~~
GravityWell
I just fired up a NodejsConsoleApp project in VS 2013, created a few simple
functions, set a breakpoint, and started stepping through. To be fair, I
assumed Edit and Continue would work like it works for other .Net or Native
projects, or like the old VB or even VBA.

1) "Set Next Statement" doesn't work, which is a pretty big part of E&C

2) I could change code and literals without stopping and restarting the
debugging session. Each change causes the current statement to jump to the top
of the current function, or to the first line if modifying code outside of any
function. Local variables are reset, but globals retain their state.

3) Interestingly, I could change code in a function that does not have the
focus, and nothing is reset, then step into that function.

I remember seeing something similar when V8 was being demoed and showed a
"live edit" capability, so I guess NTVS has similar functionality.

It short, it sort of works, but it's not the same as E&C for .Net (C# or VB),
C/C++ native code, or Office VBA.

------
GravityWell
I had to see it to believe it, but here it is.
[https://www.youtube.com/watch?v=ZAroJmb6XY4](https://www.youtube.com/watch?v=ZAroJmb6XY4)

------
balls187
Until they can address the problem with building certain NPM modules on
windows (ie `node-gyp` related ones), this is a bit of a non-starter.

Sadly the only reason I keep my windows based desktop around these days is PC
gaming is still very much windows based.

~~~
outside1234
I keep hearing this meme but I use node on Windows and don't have any issues
with this. You have to have Visual Studio and Python installed, but most of us
have that anyway.

Which node modules are problem children?

~~~
balls187
We had a lot of issues with sqlite.

What version of VS did you need? Some of the information on getting gyp
working was like VS2008 SP1, plus the Win7.1 SDK.

If this is no longer true, I'll give it a whirl.

~~~
outside1234
I use VS2013 with it and it works great.

~~~
balls187
EE?

~~~
outside1234
I'm using Ultimate (was that the question?)

~~~
balls187
yeah, express edition is the easiest for most non MSDN folks to get.

------
pingec
Does anyone else get the impression that MS shifted a lot of its attention to
web developers?

There is an incredible amount of web technologies and dev tools coming from ms
that are being presented at Build 2014. In fact so many that I'm having a hard
time keeping up...

~~~
drawkbox
Their new OS in a sense is Azure, they want developers of all platforms to run
on their cloud. All of these tools have an easy tie to Azure which isn't bad,
but the lock-in is happening farther up at the service level now. Web
developers are huge in that area.

~~~
gol706
They did offer an olive branch as far as Azure lock-in by releasing some of
the Azure components (Mobile Services and the Azure Pack) to download and run
in your own environment. That said some of those pieces require a pretty high
overhead.

As with most Microsoft stuff, you get a great fully integrated story if you
use their whole stack, but if you want to swap one one piece it falls apart a
little. My clients have compliance issues that make cloud providers hard to
use so it's disappointing that I can't really use all this coon new stuff.

------
egeozcan
I've been following this project since the earlier times and the progress is
really impressive. Thank you for the amazing work.

------
angersock
I'd sell a good friend of mine if I could debug my node extension native code
and javascript server code from the same IDE.

~~~
smortaz
angersock - if you could file a feature request on
[http://nodejstools.codeplex.com](http://nodejstools.codeplex.com) that'd be
great. We did implement support for this for Python
([https://pytools.codeplex.com/wikipage?title=Mixed-
mode%20deb...](https://pytools.codeplex.com/wikipage?title=Mixed-
mode%20debugging)), so it's not out of the question.. thx.

------
nevi-me
I tried the alpha a few months back, and found it to understandably be
lacking, My biggest frustration with it was trying to profile the performance
of a complex piece of code with a number of callbacks and such. NTVS would
only look at the first iteration, and not tell me anything useful (at the time
I was tracing a memory leak). There were a few other inconveniences which I
noticed that issues were raised for, hopefully most were fixed.

~~~
smortaz
Thanks for trying it nevi-me. Please give the Beta bits a try - lots of bug
fixes, including in the profiler.

------
preavy
Without going too far off-topic, does anyone know anything about a SQL Server
driver for Node.js? There was this, but it hasn't been updated in a while.
[https://github.com/Azure/node-sqlserver](https://github.com/Azure/node-
sqlserver)

~~~
tracker1
I find the tedious npm module works a bit better, and cross platform for
connecting to MS-SQL, it has some rough edges, but was at least more
consistent for me. The MS client didn't work as well for me early on. It's
worth noting my usage has been pretty limited.

------
svas
This is awesome. Intellisense support will certainly beat using vim for my
node projects :-)

It also appears to work with the free version of VS (Visual Studio Express).

------
notastartup
I like the direction MS is going. At this rate they can possibly shed
themselves out of the shadows of Google and Apple and truly emerge as an open,
innovative company. Why not, they got the cash to do so.

Now on this Node.JS IDE, it actually makes me want to use Node.js because it's
on Visual Studio, however, I'm also open to alternative IDE.

My favorite is Jetbrain's IDE products, I use webstorm and phpstorm, and
pycharms. I love them all, would be nice if they had one for Node.js, as I'm
not sure if webstorm has extensive support for it.

------
mavdi
It's an attempt to bring back developer to windows platform. I personally
don't know a single serious web developer using windows unless they are coding
in .NET.

~~~
outside1234
What? This is an attempt to sell Visual Studio by making it relevant to what
developers are using!

~~~
pingec
Now they just need to port it to *nix platforms. Well, perhaps Visual Studio
Online is their way of doing that...

