AngularJS intellisense not working on Visual Studio 2015

后端 未结 11 1361
粉色の甜心
粉色の甜心 2020-11-30 01:38

According to this post intellisense should also be working on the new VS 2015, but so far I only get intellisense for the angular object and not for the dependencies or my c

相关标签:
11条回答
  • 2020-11-30 02:13

    This was not working for me in Visual Studio 2015 RTM in a web project, but I solved the problem.

    This project was not created with Visual Studio and does not have a _references.js file anywhere. So I think this will work in any situation.

    I removed all other intellisense resources from within the VS UI to make sure what I did was what fixed it.

    1. Go to https://www.angularjs.org and pull up the download dialog box.

    1. Copy the Uncompressed CDN url. Today that happens to be https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js
    2. In Visual Studio 2015 RTM, go to Tools, Options, Text Editor, Javascript, Intellisense, References. Choose the appropriate Reference Group; for most web project this is Implicit (Web). Paste the url at the bottom text box and click the Add button. Don't dismiss the dialog box yet.
    3. Under Text Editor, Javascript, Intellisense, General, make sure the check box is checked for Download remote references.
    4. Click the OK button.
    5. (optional) If you want intellisense for the angular providers that you create (not part of the angular framework), add _references.js to the root of your project. Don't bother making a Scripts folder. Right click on it and choose auto-sync, then choose update. Go into it and remove any js files created by a build process. If you don't, they can be so large they will break intellisense. Be prepared for a ~5-10 second delay the first time you use intellisense, as it has to load all these references from your project.
    6. You may need to disable intellisense in Resharper for javascript if it interferes with the native intellisense.
    7. Restart Visual Studio. It will not work until you do this. Also, I'm paranoid about closing all other instances other than this instance first, so these settings "stick". So I suggest you do that before restarting this instance.
    0 讨论(0)
  • 2020-11-30 02:13

    i had this issue.

    The visual studio IDE will scan any js files referenced in the HTML files and use them if neccesary (for the intellisense etc).

    My problem was i was referencing Angularjs using the CDN/http:// addresses and thus Visual studio did not have any information on angular.

    Try downloading the angularjs js file directly and include in your project and reference in your index.html, rebuild (just in case) and try again and hopefully it should work.

    Hope i helped.

    0 讨论(0)
  • 2020-11-30 02:15

    I had a similar issue and it turned out Resharper was blocking all the nice JavaScript intellisense I had setup in my _references.js file.

    0 讨论(0)
  • 2020-11-30 02:18

    i've just realized that the automatic order that _reference.js file uses (first my files then the framework's files) prevented intellinsense to work on other files that weren't the app.js file

    this is how it now my _references.js looks like:

    /// <autosync enabled="false" />
    /// <reference path="angular.js" />
    /// <reference path="angular-resource.js" />
    /// <reference path="angular-ui-router.min.js" />
    /// <reference path="jquery-2.1.4.js" />
    /// <reference path="materialize/materialize.js" />
    /// <reference path="../App/App.js" />
    /// <reference path="../App/Controllers/productsController.js" />
    /// <reference path="../App/Controllers/productsEditController.js" />
    /// <reference path="../App/Controllers/valuesController.js" />
    /// <reference path="../common/common.services.js" />
    /// <reference path="../common/productsResource.js" />
    /// <reference path="../common/valuesResource.js" />
    
    0 讨论(0)
  • 2020-11-30 02:18

    I have this issue for RTM ..apart from angular object and in a hello world complexity senario ($http and all custom objects dont work) .. Followed the _references setups . My only suspicsion is I upgraded from RC to RTM (no fresh install) have created a issue on Git [link]github.com/jmbledsoe/angularjs-visualstudio-intellisense/issues/… ..Grabbing a VHD Win 10 image and going to try that once the d/l finishes :( –

    UPDATE

    Ok with a bit of help here is teh answer .... The Intellisense engine never sees the module named "sportsStore" being created, since it is created in the app.html file in a script block:

    <script>
      angular.module("sportsStore", ["customFilters","cart"]);
    </script>
    

    The VS Intellisense engine is "executing" the code in your project in order to discover how to do code completion. It's using the _references.js file as its starting point and executing each reference from that file, in order. Since VS Intellisense never executes a line of code that creates the AngularJS module named "sportsStore", it doesn't know how to do code completion.

    Move the JavaScript code above into its own JS file (let's call it "app.js") and include a reference to it in _references.js. Make sure the "app.js" reference is immediately after the "angular.js" reference, since you need it to create the module before the other script files configure it. :D

    0 讨论(0)
  • 2020-11-30 02:21

    Just create an _references.js file in a folder named 'Scripts' (naming convention) at the root of your project. Update it with your necessary javascript files and you should be able to get intellisense. Here's a link on why such a thing was needed: http://madskristensen.net/post/the-story-behind-_referencesjs

    0 讨论(0)
提交回复
热议问题