intellij-idea - WebStorm 中的语言注入(inject)(scss 到 html)

标签 intellij-idea webstorm vue.js jetbrains-ide

问题:如何让WebStorm理解html中的scss

描述:

我已经存在基于 vue.js 的项目

我已将 .vuehtml 语言关联起来 (.vue == .html)。

一般来说,*.vue 文件的结构如下:

<template>
 ... 
</template>

<script>
  ...
</script>

    <style lang="scss">
      $some_var: 10px;

      .parent_class {
        .child_class {
          padding: $some_var;
        }
       }
    </style>

问题是 WebStorm 并没有期望在 html 中看到 scss(而不是纯 css)。

我知道“WebStorm”(以及“IDEA”)具有语言注入(inject)。 但理解如何正确使用语言注入(inject)对我来说有点挑战。

UPD: 看起来现在可能是不可能的,因为 scss 是模板语言(意味着暂时不可注入(inject)):https://stackoverflow.com/a/29062183/930170

最佳答案

supported在 PhpStorm/WebStorm 2016.1 中——适用于 LESS 和 SCSS。

但是您必须使用稍微不同的语法:<style rel="stylesheet/scss" type="text/css">

<style rel="stylesheet/scss" type="text/css">
  $some_var: 10px;

  .parent_class {
    .child_class {
      padding: $some_var;
    }
   }
</style>    

细微差别是:rel这里实际上不允许使用属性。更多标准投诉方式请观看https://youtrack.jetbrains.com/issue/WEB-20921票证并加注星标/投票/评论以获取有关任何进展的通知。 更新——自2017.1版本起实现。


更新 2017 年 3 月 28 日,适用于 2017.1 版本的 IDE

<style type="text/scss">
  $some_var: 10px;

  .parent_class {
    .child_class {
      padding: $some_var;
    }
   }
</style>

<style type="text/stylus">
  body
    font: 12px Helvetica, Arial, sans-serif

  a.button
    -webkit-border-radius: 5px
    -moz-border-radius: 5px
    border-radius: 5px
</style>

这是 PhpStorm/WebStorm 2017.1 中的外观:

enter image description here

关于intellij-idea - WebStorm 中的语言注入(inject)(scss 到 html),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36329300/

相关文章:

javascript - 如何在 WebStorm 中的回调函数内记录 'this' 实例?

vue.js - Vue 中的方法是响应式(Reactive)的吗?

svn - 在 IntelliJ IDEA 中,为什么 Subversion 集成对我不起作用(所有与 Subversion 相关的命令始终被禁用)?

javascript - 如何在带有 Babel 的 WebStorm 中使用没有构造函数的 javaScript 类?

java - 尽管所有测试都通过了,Intellij 报告断言失败

mocha.js - WebStorm Mocha 测试 : tests never finish

javascript - Vuejs 提交突变失败

javascript - Vue mousemove 仅在 mousedown 之后

java - 双引号中的字符串不会改变 Android Studio 中的颜色 - 只是好奇

git - IntelliJ 和 Git 分支名称