如何在WebStorm中添加Polymer元素支持,解决标签识别与补全问题?
在WebStorm中添加Polymer 3.0元素支持的解决方法
我之前也碰到过一模一样的问题——WebStorm默认完全不认Polymer的自定义标签,属性补全更是想都别想。不过按下面这几步操作,就能搞定标签识别和自动补全功能:
安装Polymer官方插件
打开WebStorm的设置(Windows/Linux点File > Settings,Mac是WebStorm > Settings),找到Plugins选项卡,在搜索框里搜「Polymer」,安装JetBrains官方的Polymer插件,安装完成后重启编辑器。配置Polymer库版本
重启后回到设置,找到Languages & Frameworks > JavaScript > Libraries,点击Add按钮。在弹出的窗口里选择Polymer 3.0版本,你可以选择让WebStorm自动从npm下载对应库,或者如果本地项目已经通过npm安装了Polymer相关包(比如@polymer/paper-item),直接指定node_modules/@polymer的路径也行。确保ES模块导入被正确解析
Polymer 3用的是ES模块语法,所以得让WebStorm支持这种写法:- 在设置的
Languages & Frameworks > JavaScript里,把JavaScript版本设置为ECMAScript 6+或更高; - 确认你的项目已经通过npm安装了需要的Polymer元素,比如你的示例里用到的
paper-item,要先运行npm install @polymer/paper-item,这样WebStorm才能找到对应的组件文件。
- 在设置的
清理缓存(如果上述步骤无效)
要是做完上面的步骤还是没效果,试试File > Invalidate Caches...,选择Invalidate and Restart——有时候编辑器缓存会搞乱识别逻辑,清完缓存重启就好了。
按这些步骤设置完后,你的示例代码:
<html> <head> <script type="module"> import '@polymer/paper-item/paper-item.js'; </script> </head> <body> <paper-item>Item</paper-item> </body> </html>
里的<paper-item>标签就不会再标红,输入属性时也会弹出Polymer元素的专属属性补全列表了。
内容的提问来源于stack exchange,提问作者Georgios Stathis




