Reputation: 7786
Currently, all my angular material HTML attributes are highlighted in yellow with WebStorm 9 (Mac OS X Yosemite) warning: "Attribute [name] is not allowed here".
How can I teach WS to automatically recognize these attributes as valid? I am aware that I can add each one one-by-one to the list of custom attributes, but was hoping that there would be a better way to do this.
UPDATE: Just wanted to clarify that this issue applies to Angular Material project, and not the AngularJS itself.
Upvotes: 29
Views: 20140
Reputation: 2947
You have also a plugin that helps a lot, check it out. It helps a lot
Angular material v2, Teradata covalent v1, Angular flex layout v1 & Material icon live templates And with the solution provided by @Alex Ilyaev gives a lot of help.
But its no perfect.
Hope it helps.
Upvotes: 1
Reputation: 1222
You need to add the angular-material.js
file as a Library in WebStorm:
Cmd+,
, Win/Linux: Ctrl+Alt+S
)Go to Languages & Frameworks > JavaScript > Libraries
Click Add
and then press the +
icon
Find angular-material.js
in your node_modules
folder
Add a Name and a version and press Ok
Now you will have completions for all elements and attributes that have an @ngdoc
documentation in the angular-material
source code.
Not all features are properly documented, the following won't show up (unless you already used them) cause they are defined dynamically in a loop, with no @ngdoc
for them:
var API_WITH_VALUES = [ "layout", "flex", "flex-order", "flex-offset", "layout-align" ];
var API_NO_VALUES = [ "show", "hide", "layout-padding", "layout-margin" ];
So for these you'd have to add them as a custom attribute (Alt+Enter
> "Add flex to custom html attributes").
Tested on a Mac OS X 10.11.4 using WebStorm 2016.1.1, but this should work for older versions as well.
Upvotes: 18
Reputation: 195
Currently I don't think that idea's AngularJS plugin understands angular-materials attribute extensions.
It does understand the directives i.e. control click <md-button ...> and the directive (custom tag) is found.
For now you will have to add the attributes af custom attributes in order to get a "green" page.
Upvotes: 0
Reputation: 41440
I highly recomend you to install the Angular.js plugin:
The plugin is incumbed to read @ngdoc
annotations present in ngMaterial sources and create documentation for their directives.
It seems to support WebStorm and other IDEs, but I could not find it in the plugin registry while filtering by other IDEs. Maybe it'll work inside WebStorm...
Anyway, this is what you get:
Upvotes: 5
Reputation: 17014
I am using PHPStorm
, which is a sister Project of WebStorm
, but it should work the same way.
You maybe need to add the Library:
Add here AngularJS
If this does not work, you can add them manually:
Follow this Steps:
To the right you will see in Options "Custom HTML tag attributes". Enter here the attributes you want to allow.
Upvotes: 14