使用PHPStorm重构CSS

使用PHPStorm重构CSS,phpstorm,Phpstorm,我有以下CSS分区/类标记 .myclass #myid{ width: ; height: ; } 这是在十几个CSS文件。每个CSS文件定义了不同的宽度和高度。我想用一个一致的标记替换每个文件中的所有标记。像这样的 .myclass #myid{ width: 20px; height: 30px; } PHPStorm可以这样做吗?是的——可以找到这样的精确匹配的(具有按该顺序定义的“宽度”和“高度”属性的特定选择器)。您只需要一些关于正则表达式的基本知

我有以下CSS分区/类标记

.myclass #myid{
    width: ;
    height: ;
}
这是在十几个CSS文件。每个CSS文件定义了不同的宽度和高度。我想用一个一致的标记替换每个文件中的所有标记。像这样的

.myclass #myid{
    width: 20px;
    height: 30px;
}
PHPStorm可以这样做吗?

是的——可以找到这样的精确匹配的(具有按该顺序定义的“宽度”和“高度”属性的特定选择器)。您只需要一些关于正则表达式的基本知识

  • 使用“路径替换”对话框(编辑|查找|路径替换Ctrl+Shift+R)
  • 激活“正则表达式”选项
  • 设置正确的范围(整个项目或特定范围/文件夹等)
  • 键入正则表达式:
    • 要查找的文本:
      (\.myclass\\myid\s*{\n\s*宽度:\s*)\d+(px;\n\s*高度:\s*)\d+(px;)
    • 替换为:
      $122$233$3
  • 按按钮
  • 注意事项:

    • “replace with”的正则表达式将“width”设置为22,“height”设置为33——根据需要编辑它们
    • 与“text to find”regex相同——如果您编写类似于
      width:0;
      (“px”单位省略)的内容,我编写的正则表达式将找不到。我根据您的示例构建了它,因此如果它不同,您必须自己调整它
    • 如果在“width”之前有任何其他属性,或者以不同的顺序,则该正则表达式将不起作用