【问题标题】:Disable script editing in chrome developer tools在 chrome 开发者工具中禁用脚本编辑
【发布时间】:2012-07-01 11:15:16
【问题描述】:

我使用 Chrome 开发人员工具来调试我的 JavaScript 代码,但我对 Chrome 允许您在“脚本”选项卡下编辑 JavaScript 文件的方式感到不满。有时,我没有意识到我在 Chrome 中,我开始在 Scripts 选项卡下对代码进行更改,只是在刷新时才意识到我刚刚所做的更改从未保存到磁盘!

我想知道是否有办法将“脚本”选项卡中显示的代码设为只读,这样如果我尝试在 Chrome 中编辑文件,我会看到它不可编辑,然后意识到我是不在我的 IDE 中。

【问题讨论】:

  • 你怎么没有意识到你在你的 IDE 中?
  • 白色背景和满屏的窗口

标签: javascript debugging google-chrome usability google-chrome-devtools


【解决方案1】:

使用以下过程使脚本源在 Chrome 32+ 中为只读:

  • 转到 chrome://flags/#enable-devtools-experiments 网址

  • 选择允许 UI 主题

  • 打开 Chrome 开发工具

  • 选择设置(按 F1 或单击最右侧的三个点)

  • 选择允许 UI 主题

  • 使用以下样式创建DevTools theme

    .content-view.script > .text-editor { -webkit-user-modify: read-only !important; }
    
  • 发布到Chrome Web Store

  • 安装主题

  • 重启 Chrome

参考文献

使用 Chrome 31 的旧流程:

使用user stylesheet 完全禁用脚本选项卡:

.toolbar-item.scripts { display:none !important; } /* Hide Scripts Tab */

或者只是将脚本源设为只读:

.text-editor-editable { -webkit-user-modify: read-only !important; } /* Old selector */
.content-view.script > .text-editor { -webkit-user-modify: read-only !important; } /* Older selector */
.editing { -webkit-user-modify: read-only !important; } /* Generic Selector */

以下是文件的几个可能位置:

  • Windows 7 铬:
    • %LOCALAPPDATA%\Chromium\User Data\Profile 1\User StyleSheets\Custom.css
  • Windows 7 铬:
    • %LOCALAPPDATA%\Google\Chrome\User Data\Default\User StyleSheets\Custom.css
  • OSX 铬:
    • /Users/YourUsername/Library/Application Support/Google/Chrome/Default/User StyleSheets/Custom.css
  • Ubuntu 铬:
    • ~/.config/chromium/Default/User\ StyleSheets/Custom.css

使用以下Chrome Devtools URL 引用相关样式:

chrome-devtools://devtools/devTools.css

【讨论】:

  • 这不会禁用脚本文件的本地编辑。现在在测试版中,脚本文件本身会关注每个断点,这更加令人讨厌。 (不是您的答案,但允许对文件进行本地修改而无法将其关闭)
  • @tkone 谢谢。我找到了另一种使用 CSS 禁用选项卡的方法,并用详细信息更新了我的答案。
  • 我需要脚本选项卡 -- 调试对我的工作至关重要,但问题是每次遇到断点时,脚本窗口都会获得焦点。如果文件真的很长(比如未压缩的 jquery),并且您误按了空格,则无法撤消更改,文件被标记为本地编辑并且断点不再在选项卡中操作。
  • @tkone 谢谢。我找到了启用只读模式的属性。我已经用详细信息更新了我的答案。
  • 天哪。这真的很好。我不必弄乱扩展或任何东西。
【解决方案2】:

据我所知,Chrome/WebKit 开发者工具中没有禁用脚本编辑的选项。

以下是两个三种可能的解决方案:

解决方案 1:

制作一个每次编辑时都会显示警报的扩展程序:

JavaScript:

chrome.devtools.inspectedWindow.onResourceContentCommitted.addListener(function(resource, content) {
    alert("WARNING: Your changes will not be saved!!");
    // Optional, but and extra layer of "protection", if you don't want/need it just remove the "experimental" permission from the manifest
    if (chrome.experimental) {
        chrome.experimental.devtools.console.addMessage("error", "WARNING: Your changes will not be saved!!");
        // Shows in red
    }
});

扩展(解压后,先启用chrome://flags下的实验扩展API):http://www.mediafire.com/?wb1r67ron0x6szh

解决方案 2:

修改源代码并运行自定义构建:

另一种选择是修改开发者工具源,详情请见https://developers.google.com/chrome-developer-tools/docs/contributing。如果您这样做了,您需要做的就是从编辑器容器中删除 text-editor-editable 类(第 1279 行,DefaultTextEditor.js)。

解决方案 3:

让 chrome 自动保存你的文件:

第三个选项是启用 chrome 来保存您的文件,有许多扩展程序可以做到这一点,即 Tincr。 Tincr 还可以让您实时重新加载文件并提供完整的语法高亮显示。

我个人认为这是最好的解决方案。

【讨论】:

  • 解决方案 3 似乎是最好的!赏金发放!呃,它不会让我做两个小时。所以,像,在两个小时内获得赏金?虽然你的代表现在很“精英”!
  • 但我才刚到这里! (代表,不是这样)我有另一个想法,您可以使用 Paul Sweatte 的解决方案,而是使用 :before 在编辑器上创建一个透明蒙版。您仍然可以调试但不能选择或编辑。
  • 抱歉,Paul 完全按照我的需要得到了它——只有一行 CSS :)
猜你喜欢
  • 2016-06-04
  • 1970-01-01
  • 2012-09-17
  • 1970-01-01
  • 2020-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多