当所有扩展都禁用时,是否会出现这个问题?:是的
- VS Code 版本:1.80
- OS 版本:macOS 13.4.1
重现步骤:
我不知道如何在VSCode中重现此问题,因为它没有原生的浏览器刷新功能,或者在vscode.dev中,它也没有调试功能,但这个问题出现在支持调试的谷歌Web版VSCode中,理想情况下应该在上游修复,因为您已经区分了isWeb和isPlatform,当您或任何人支持在web上调试时,这将被破坏。要让我们重现它,您需要使用F5开始调试,然后再次按F5刷新页面停止调试等。)
在浏览器中按F5是一个相当常见的刷新快捷键。我认为不应该用它来开始在web上调试(isWeb && !isStandalone()
)。相反,也许我们可以在web上使用alt-F5?似乎还没有人采用这个建议。
如果您愿意接受贡献,请告诉我。
6条答案
按热度按时间yqhsw0fo1#
我也在使用网页版时遇到了一些问题,按下F5和ctrl+R会刷新页面,或者按下ctrl+w会关闭浏览器标签页(如果不小心按到ctrl+w的话就相当糟糕)。
VSCode能否拦截这些快捷键绑定,即使没有为它们绑定任何命令?
kr98yfug2#
这就像#181792。我不会删除web上的现有键绑定,但我会提交一个PR,将alt+F5作为另一个键绑定。
5kgi1eie3#
实际上,有两件事。看起来快捷键绑定实际上是被占用了
在Mac上的Edge和Chrome中,F5不起作用。也许那是仅限于Windows的?
ubby3x7f4#
你是对的,Mac似乎不使用F5进行刷新。我没有Windows系统可以测试,但在我的Linux系统上,F5确实会刷新。这个显然不可靠的来源声称“所有现代浏览器都使用F5进行刷新”,这在Mac上显然是错误的,但对于其他操作系统可能是正确的?https://www.computerhope.com/jargon/f/f5.htm#:~:text=In%20all%20modern%20Internet%20browsers,contents%20of%20the%20page%20again.
我认为另一个替代的键盘快捷键并不能解决问题,那就是根据你所处的状态,F5会执行非常不同的操作,而当你处于调试会话中时,它具有破坏性(F5重新加载页面并结束你的调试会话)。
我看到了两个主要方向:
我认为当前的混合状态非常令人沮丧,至少对于那些发生这种情况的系统的人来说。
0dxa2lsx5#
@rehmsen的确,混合行为令人讨厌。在我看来,“刷新”按钮是危险的,因为它可能会被意外按下。而且由于这是一个“网络应用程序”,而不仅仅是一个“网页”,我认为F5键应该始终被覆盖——至少要做到“什么都不做”。用户仍然可以通过鼠标点击所有浏览器都具有的刷新按钮来启动真正的、有意的“刷新”。
b4qexyjb6#
我猜我没有在这里跟进- F5在
debugState == inactive
时执行"开始",在debugState == 'stopped'
时执行"继续"。为了填补空白并阻止浏览器的按键绑定,可以添加一个在debugState不处于非活动或停止状态时运行的虚拟命令。