如何保存Chrome开发者工具的“样式”面板中的CSS更改?


194

如何保存Google Chrome开发者工具“样式”面板的CSS更改?

在工具的网站上提到我们可以在资源面板中看到所有更改

在此处输入图片说明

但是我在本地处理CSS文件,但是对我来说,更改没有显示在“资源”面板中

在此处输入图片说明

在此处输入图片说明

顺便说一句,您是否知道任何可保存Chrome开发者工具的CSS更改的插件和工具? 我知道Firebug有很多https://stackoverflow.com/search?q=firebug+CSS+changes+save


现在有一个用于DevTools扩展的API,可以接收有关正在更改的资源的通知-因此,您可以创建一个扩展,该扩展将与您选择的IDE集成在一起,或者只是将资源内容发布到WebDAV服务器上:developer.chrome.com/extensions/ …
caseq 2011年

9
我相信这个问题及其答案已经过时,因为Chrome自此将其修改后的CSS保存功能移至“源”面板。该功能是相当混乱,而且有些误导:我探讨这个浏览器的功能,在这个相关的堆栈溢出后一些细节上节约改性CSS-:stackoverflow.com/questions/16005435/...
ChaseMoskal


从Chrome 65开始,Local Overrides是执行此操作的新方法。Overrides是与Workspaces不同的功能。
凯西巴斯克

Answers:


137

您可以从Chrome开发工具本身保存CSS更改。Chrome现在允许您将本地文件夹添加到您的工作区。在允许Chrome访问该文件夹并将该文件夹添加到本地工作空间之后,您可以将网络资源映射到本地资源。

  • 导航到“开发人员工具”的“源”面板,在左面板(列出文件的位置)上单击鼠标右键,然后选择“ 将文件夹添加到工作区”通过单击“每个元素”面板中所选元素的每个CSS规则右上方的样式表,可以快速进入“源”面板中的样式表。

在此处输入图片说明

  • 添加文件夹后,您必须授予Chrome访问该文件夹的权限。 允许Chrome访问

  • 接下来,您需要将网络资源映射到本地资源。

在此处输入图片说明

  • 重新加载页面后,Chrome现在会加载映射文件的本地资源。为简化起见,Chrome仅向您显示本地资源(因此您对正在编辑本地资源还是网络资源不会感到困惑)。要保存更改,请CTRL + S在编辑文件时按。

ps

您可能需要打开映射的文件并开始编辑,以使Chrome应用本地版本(日期为201604.12)。


4
我只想在主题样式表的底部添加我在实时编辑CSS时遇到的CSS差异。而已。有没有办法提出可以复制和粘贴的CSS的“ diff”?看到另一个问题:stackoverflow.com/questions/21871535/…背景故事是我正在编辑属于主题的CSS,我只能在样式表的底部添加CSS,而不能在上方编辑CSS。如果某人只能使用他的CSS替代项将custom.css添加到网站,则同样适用。
卡罗琳·施纳普

paul-irish,对如何使diff / patch仅本地更改CSS(无远程更改)感兴趣。SaveAs并不能真正解决灵活性和加速性的问题...
Denis Denisov 2015年

现在chrome正在自动保存本地文件(无需按CTRL + S)如何防止这种情况?
Uzair Ali Ali 2015年

对我不起作用。将CSS文件保存在本地文件夹中之后,将远程映射到本地并重新加载,所有更改都消失了。:(编辑在元素面板本地文件和保存源文件不也没有坚持我的变化。
香脆

2
Chrome 46检查器似乎存在一个错误,即当重新加载页面时,仅在“源”面板中对其进行更改时,才会重新应用映射的本地文件。您甚至可以在外部编辑器中对其进行更改,但必须在“源”面板中将其打开并聚焦。
酥脆2015年

28

DevTools技术作家和开发者在这里提倡。

从Chrome 65开始,Local Overrides是一种新的轻量级方法。这是与工作区不同的功能。

设置替代

  1. 转到“ 源”面板。
  2. 转到替代标签。
  3. 单击选择替代文件夹
  4. 选择要将更改保存到的目录。
  5. 在视口顶部,单击允许以授予DevTools对目录的读写权限。
  6. 进行更改。在下面的GIF中,您可以看到background:rosybrown更改在页面加载中仍然存在。

覆盖演示

替代如何工作

在DevTools中进行更改时,DevTools会将更改保存到计算机上文件的已修改副本中。重新加载页面时,DevTools将提供修改后的文件,而不是网络资源。

覆盖和工作空间之间的区别

Workspaces旨在允许您将DevTools用作IDE。它使用源映射将您的存储库代码映射到网络代码。真正的好处是,如果您要缩减代码或使用需要转译的代码(例如SCSS),那么您在DevTools中所做的更改(通常)通常会映射回原始源代码。另一方面,通过覆盖,您可以修改和保存Web上的任何文件。如果您只是想快速尝试更改,并在页面加载中保存这些更改,那么这是一个很好的解决方案。


5
这行得通,但是仍然太复杂了。如果您只能在当前会话中启用此功能,则希望使用该功能。恕我直言,像“保留当前会话的资源更改”这样的复选框更适合Web开发人员工作流。持久性更改并不是Web开发人员日常工作所需要的,如果您忘记删除这些替代项并在几周后回来,则甚至可能引起其他麻烦。覆盖对于最终用户来说很好-不适用于调试。仍然支持。

我同意其他意见。它根本不是直观的,并且不能保存所有更改,因此并不是那么有用。对于我们来说,最好编写一个小的chrome扩展名以侦听所有更改并将其保存。那就是如果有一个我们可以挂钩的API或流程...还没有查找。
卡莱斯·阿尔科里亚

抱歉,先生liveSCSS不再被弃用吗?请参阅stackoverflow.com/a/57622797/10189759
卢克·阿隆

@Kayce Basques如何开发chrome扩展程序?当您注入样式表(和js)时,所有这些功能都不起作用,对吗?此类开发的任何解决方案(加快从chrome开发工具到扩展的本地源文件的css / js更新)。谢谢
安德鲁


13

我知道这是一个旧帖子,但是我这样保存:

  1. 转到“源”窗格。
  2. 单击显示导航器(以在左侧显示导航器窗格)。在此处输入图片说明
  3. 单击所需的CSS文件。(它将在编辑器中打开,其中包含您所做的所有更改)
  4. 右键单击编辑器,然后保存更改。

您还可以查看本地修改以查看您的修订,这是非常有趣的功能。也可以使用脚本。


我找不到“ Show Navigator”
NickyLarson,

@NickyLarson,我编辑了答案,以包括此按钮的位置。
Guilherme de Jesus Santos

再次阅读原始问题。他没有编辑CSS文件。他正在“元素”面板的“样式”选项卡中进行更改。
罗恩·英巴尔

11

您在“资源”的错误部分中查找。

它不在“本地存储”下,而在“框架”下:

上面的屏幕截图显示了原始样式与devtools中进行的新修改的区别。您可以右键单击左窗格中的项目,然后将其保存回磁盘。


对我来说,Frames里面也没有。我添加了一个有问题的屏幕截图
Jitendra Vyas

我不确定您的“框架”如何为空。听起来很糟糕。在Canary版本中尝试一下(您可以将其与当前版本一起安装):tools.google.com/dlpage/chromesxs
三十点

金丝雀无法打开。我也找到了这种解决方案justin.my/2011/04/why-my-google-chrome-canary-cannot-run,但是它仍然无法正常工作。安装完成后收到此消息k.min.us/iefbE2.jpg
Jitendra Vyas

2
截至本周末(2012年5月21日),我认为该解决方案不再有效。我曾经做过与您写相同的事情来编写新的 CSS的大块(不是旧的,也不是编辑的)。但是现在,至少对我来说,单击该HTML文件仅显示原始HTML,而不显示新的CSS规则。它仍然对您有用吗?如果没有,您是否有一个新的解决方案来实现这一目标?
Nucleon

在Chrome 48中这对我都不起作用。仍然要执行此操作吗?
DMTintner '16



4

仅供参考,如果您使用内联样式或直接修改DOM(例如添加元素),则工作区无法解决此问题。这是因为DOM驻留在内存中,并且没有与DOM的活动状态关联的实际文件。

为此,我想从控制台拍摄dom的“之前”和“之后”快照: copy(document.getElementsByTagName('html')[0].outerHTML)

然后,将其放入差异工具中以查看更改。

差异工具图片

全文:https : //medium.com/@theroccob/get-code-out-of-chrome-devtools-and-into-your-editor-defaf5651b4a


1

要回答关于任何可以保存更改的扩展名的问题的最后一部分,有修复程序

它使您可以将Chrome开发工具中的更改直接保存到GitHub。从那里,您可以在GitHub上设置接收后挂钩,以自动更新您的网站。


1

只要您没有将CSS粘贴在element.style

  1. 转到您添加的样式。应该有一个链接说检查员样式表:

在此处输入图片说明

  1. 单击该按钮,它将打开您在“源”面板中添加的所有CSS。

  2. 复制并粘贴-是的!

如果您一直在使用element.style

您可以右键单击HTML元素,单击“编辑为HTML”,然后复制和粘贴带有内联样式的HTML。


1
并且,如果由于找不到通过dom搜索而找不到该检查器样式表,则在DevTools集中精力并开始编写“检查”时,只需按Ctrl + P(或CMD + P)...它将立即弹出,然后输入 i.imgur.com/WSWcbh8.png
Carles Alcolea,

1

2019年更新:由于其他答案有些过时,我将在此处添加更新的答案。在最新版本中,无需将chrome文件夹映射到文件系统。

在此处输入图片说明

因此,假设我在桌面上有一个包含HTML,CSS,JS文件的Web文件夹,当我在chrome中进行更改时,我想对其进行更新:=

1)您需要一个正在运行的本地服务器,例如node等,或者此vscode扩展会为您创建服务器:实时服务器VSCode扩展,安装它,然后运行服务器。

2)从运行本地服务器加载chrome中的html页面。

3)打开devTools-> Sources-> Filesystem-> Add文件夹到工作区

在此处输入图片说明

4)添加用于运行本地服务器的文件夹。最新的chrome浏览器无需其他映射!-

更多有关使用工作区编辑文件的信息

请注意,在“样式”选项卡上所做的更改将不会反映在文件系统文件中。 相反,您需要转到devtools-> source-> your_folder,然后在此处进行更改并重新加载页面以查看效果。
在此处输入图片说明


1
但是OP 特别询问了“样式”标签中所做的更改...
罗恩·英巴尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.