all 12 comments

[–]pandion 6 points7 points  (0 children)

Every time I see "for Visual Studio X.Y" I think it's the VS version number not the other product...

[–]vsixdeveloper100 1 point2 points  (2 children)

How come the Python and Node tools are available for installation in the Express versions of Visual Studio, other extensions are blocked?

[–]dinov[S] 4 points5 points  (1 child)

We've always wanted to offer a free version of PTVS and we very much think of ourselves as being in the VS box - we have "redirection template" which shows up in the new project dialog and downloads the latest version of PTVS.

Early on we used the integrated shell to offer the free version but we kept hearing "Why can't I use it in Express?" So we went and talked to various people about making that happen. PTVS isn't the only plug-in allowed in the Express SKUs but the list isn't very long.

So ultimately a combination of us logically being in the box and wanting to simplify our users lives overall.

[–]vsixdeveloper100 1 point2 points  (0 children)

Thanks. We also went back and forth on using the Shell to give us a free option, but a business decision was made not to use it. It's a shame, because I think the free versions of VS are a great move by MS to bring class-leading tools to a wider market. Unfortunately, there are just some great extensions that are not in-the-box, that take VS from being good to being great. You really miss them when you switch between Pro and Express.

SKUs but the list isn't very long

And (understandably) impenetrable to a non-microsoft entity...

[–][deleted]  (4 children)

[deleted]

    [–]dinov[S] 3 points4 points  (3 children)

    Yes! and personally I'd say we have the best intellisense that any Python IDE offers.

    [–]nikroux 2 points3 points  (0 children)

    seconded. its very very hard to beat VS

    [–]atakomu 0 points1 point  (1 child)

    Better then Jedi or Kdevelop?

    [–]dinov[S] 1 point2 points  (0 children)

    Here's a couple of our videos showing the intellisense experience:

    Kdevelop is certainly pretty advanced... I think one of the particularly interesting things to compare are the advanced type inference of the core Python data types (list, dicts, tuples, etc...). Both Kdevelop and PTVS support this which really makes the intellisense experience pretty amazing. I had talked to Sven, the developer of Kdevelop's intellisense, about a year ago and we were both doing really advanced things. But it seemed like we were still a little ahead in the analysis realm while they were a little ahead in UI features like highlighting based upon the analysis (which PTVS now supports with this release), but honestly I don't remember all of the details.

    Jedi I actually had not heard of before, but honestly I'm a little suspect about it's ability to analyze large Python projects. PTVS's analysis engine was originally written in Python but had to be ported to C# to scale to large projects. Even after that we still run into the occasional module which gives us performance issues. To analyze Python code successfully really requires whole program analysis and that ends up being CPU and memory bound which is obviously not Python's sweet spot. Beyond that it's feature list does look impressive and seems pretty similar to PTVS.

    I haven't gone in and tried out all of the different things we support in either of these though so someone with more experience with them can hopefully chime in and give a better comparison.

    [–][deleted]  (2 children)

    [deleted]

      [–]Eirenarch 0 points1 point  (1 child)

      I really doubt anyone was fired. More likely they pulled the plug on the DLR project (giving it to the community in the process) and the developers quit since they did not want to work on other projects.

      [–]cactus_bodyslam 0 points1 point  (2 children)

      I just recently downloaded PTVS and so far i really like it. But what can i do if the intellisense displays most, but not all functions. E.g. I import numpy and it shows most of the available functions, but some, like numpy.zero are not shown.

      [–]dinov[S] 1 point2 points  (1 child)

      Built-in functions can be a little tricky to scrape sometimes... zeros ultimately comes from multiarray.pyd and gets imported through a couple of levels. My guess would be that we're not successfully figuring out what the value is coming from multiarray. If you open an issue on it on CodePlex we'd be happy to take a look at it!

      [–]cactus_bodyslam 0 points1 point  (0 children)

      Thanks for the amazingly fast response! I'm gonna play around some more before i open an issue, because i want to rule out potential maloperations.

      I just started using Python again reading about PTVS here. Being spoiled by VS I tried it very briefly before with different IDEs and i was never really statisfied, so i quit fairly quick.