Closed yoocoos closed 7 months ago
同样被这个问题困扰,经过测试,VS code的悬停延时设置针对这个问题无效,禁用插件后恢复正常
同样被这个问题困扰,经过测试,VS code的悬停延时设置针对这个问题无效,禁用插件后恢复正常
目前我只能想要使用这个插件就必须勇哥1.72版本的vscode,这个版本不会有冲突
通过鼠标选中内容的时候, 由于鼠标不会在选中区域,不会弹出 Hover 框,达不到“划词翻译”的效果。 所以在选择内容过程中,相隔300ms后,或主动显示hover内容。 普通情况下不会出现问题,目前看,在选择内容后,已弹出hover再移动到 选中区域,或重复hover响应,焦点就变到了hover浮层上,主框就不能输入了。。之前的版本没问题,应该是近期vscode的默认调整。
目前没有很完美的方法,如果直接移除该逻辑,划词翻译效果就没了。
通过鼠标选中内容的时候, 由于鼠标不会在选中区域,不会弹出 Hover 框,达不到“划词翻译”的效果。 所以在选择内容过程中,相隔300ms后,或主动显示hover内容。 普通情况下不会出现问题,目前看,在选择内容后,已弹出hover再移动到 选中区域,或重复hover响应,焦点就变到了hover浮层上,主框就不能输入了。。之前的版本没问题,应该是近期vscode的默认调整。
目前没有很完美的方法,如果直接移除该逻辑,划词翻译效果就没了。
vscode默认应该是松开鼠标才开始计时300ms,能否取消主动显示的逻辑,对于需要翻译的词,通过主动在上面停顿一下光标来实现。或者给主动显示hover内容加一个开关,因为通常来说需要翻译的情况不会很多。
我用的Wisen-Translate反而没有问题。。。
这个就有。。
这个问题影响很大,每次复制一段代码然后想删除的时候,就总是失去焦点
我一般是双击单词,它就会弹出翻译
这个框有时会自动锁定焦点,有时不会,导致鼠标点到哪里都是无法取消这个弹窗
当前两个解决方案:
这样弹窗才会掉,前者还好,但是会改变编辑位置,后者使编辑器失去焦点,必须再用鼠标点一次上次要编辑的位置 才可以继续输入内容
预期:选择了单词悬停进行翻译,除非鼠标点击弹窗(或者其他方式)定焦,否则当鼠标指针移出弹窗,翻译弹窗即消失
问题场景:有时再给别人演示代码时,双击选中一个单词,就有弹窗翻译挡住,并且鼠标移走,弹窗依旧还在,禁用插件需要重新启动VSCode,编辑器的很多状态,历史记录等等没了
我一般是双击单词,它就会弹出翻译
这个框有时会自动锁定焦点,有时不会,导致鼠标点到哪里都是无法取消这个弹窗
当前两个解决方案:
- 将当前可视区域通过滚动放方式移动到编辑器边缘
- 按下ESC键
这样弹窗才会掉,前者还好,但是会改变编辑位置,后者使编辑器失去焦点,必须再用鼠标点一次上次要编辑的位置 才可以继续输入内容
预期:选择了单词悬停进行翻译,除非鼠标点击弹窗(或者其他方式)定焦,否则当鼠标指针移出弹窗,翻译弹窗即消失
问题场景:有时再给别人演示代码时,双击选中一个单词,就有弹窗翻译挡住,并且鼠标移走,弹窗依旧还在,禁用插件需要重新启动VSCode,编辑器的很多状态,历史记录等等没了
感谢反馈,非常详细。参考你给的方案,近期优化下。
我再补充一下复现:
在 Python
代码调试时,处于断点中,双击单词选中,然后会弹出翻译,此时鼠标停留超过 1-2 秒,弹窗依旧卡在哪里,弹窗也没有被 focus
情况下
@intellism 这个问题根源来自 vscode 1.73.0 变更了 editor.action.showHover
原来的行为: https://github.com/microsoft/vscode/pull/176057
由:显示 Hover
变成: 没有 Hover 时创建并显示 Hover,Hover 可见时则 Focus Hover
变更的原因是为了:通过 command+ i/k
(即editor.action.showHover
) 激活 Hover
时,默认 focus Hover
,使其可以通过上下按键滚动查看 Hover
内容。
我想到 3 种解决方法:
commands.executeCommand('editor.action.showHover')
之前判断 editor 是否有 Hover 显示,如果已经显示过,则不再调用commands.executeCommand('editor.action.showHover')
之后重新 focus editor,将焦点从 Hover 上收回commands.executeCommand('editor.action.showHover')
原来的行为,或者提供参数可以控制(默认原始行为)经过研究,我并没有找到上述方案1,2的实现方法,无法从插件侧解决这个问题~
@intellism 这个问题根源来自 vscode 1.73.0 变更了
editor.action.showHover
原来的行为: microsoft/vscode#176057由:
显示 Hover
变成:没有 Hover 时创建并显示 Hover,Hover 可见时则 Focus Hover
变更的原因是为了:通过
command+ i/k
(即editor.action.showHover
) 激活Hover
时,默认 focusHover
,使其可以通过上下按键滚动查看Hover
内容。I think of 3 solutions:
- Determine whether the editor has Hover displayed before
commands.executeCommand('editor.action.showHover')
. If it has been displayed, it will not be called again.- Re-focus the editor after
commands.executeCommand('editor.action.showHover')
to take back the focus from Hover- Change VS Code back to the original behavior of
commands.executeCommand('editor.action.showHover')
, or provide parameters to control (default original behavior)After research, I have not found the implementation method of the above solutions 1 and 2, and cannot solve this problem from the plug-in side ~
Thank you for your analysis and solution. Option 3 is the simplest, but needs to be tested> @intellism 这个问题根源来自 vscode 1.73.0 变更了 editor.action.showHover
原来的行为: microsoft/vscode#176057
由:
显示 Hover
变成:没有 Hover 时创建并显示 Hover,Hover 可见时则 Focus Hover
变更的原因是为了:通过
command+ i/k
(即editor.action.showHover
) 激活Hover
时,默认 focusHover
,使其可以通过上下按键滚动查看Hover
内容。我想到 3 种解决方法:
- 在
commands.executeCommand('editor.action.showHover')
之前判断 editor 是否有 Hover 显示,如果已经显示过,则不再调用- 在
commands.executeCommand('editor.action.showHover')
之后重新 focus editor,将焦点从 Hover 上收回- VS Code 改回
commands.executeCommand('editor.action.showHover')
原来的行为,或者提供参数可以控制(默认原始行为)经过研究,我并没有找到上述方案1,2的实现方法,无法从插件侧解决这个问题~
谢谢分析并提供解决方案。 方案3是最简单的,但是,在选择文本的时候,鼠标没有hover到选中区域, “划词翻译” 就不生效了。 目前看方案2是有可能的,可以切换editor的 focus状态的,我尝试下。
嗯,方案3我周末给vscode提了个PR,看官方是否会通过合并了
PS: 方案2还需要注意还原到原来的selection,不然会丢失文本的选中状态,体验非常糟糕
嗯,方案3我周末给vscode提了个PR,看官方是否会通过合并了
PS: 方案2还需要注意还原到原来的selection,不然会丢失文本的选中状态,体验非常糟糕
已经合并了,似乎这个问题还是存在
嗯,方案3我周末给vscode提了个PR,看官方是否会通过合并了 PS: 方案2还需要注意还原到原来的selection,不然会丢失文本的选中状态,体验非常糟糕
已经合并了,似乎这个问题还是存在
需要等待此合并 https://github.com/intellism/vscode-comment-translate/pull/196
嗯,方案3我周末给vscode提了个PR,看官方是否会通过合并了 PS: 方案2还需要注意还原到原来的selection,不然会丢失文本的选中状态,体验非常糟糕
已经合并了,似乎这个问题还是存在
还没到 stable 分支呢,有望能在 1.85.x 合并进去。
嗯,方案3我周末给vscode提了个PR,看官方是否会通过合并了 PS: 方案2还需要注意还原到原来的selection,不然会丢失文本的选中状态,体验非常糟糕
已经合并了,似乎这个问题还是存在
还没到 stable 分支呢,有望能在 1.85.x 合并进去。
太希望了,今天官方人员回复我说这两天发 1.85,不超过下周😂希望能合进去
但是没包含昨天提的 pr 😂
1.85已经发布了,并且包含了 @idootop 的pr,现在这个问题可以继续推进了嘛👍
再等等,之前那个 PR 有点问题,昨晚重新提了一个,刚合并进去。要等到 VS Code v1.86.0 正式发布。
在最新的 VS Code 1.86.0-insider 版本上已经修复了:https://code.visualstudio.com/insiders
但是没包含昨天提的 pr 😂
多谢老哥在 vscode 那边的解释,很到位 👍
但是没包含昨天提的 pr 😂
多谢老哥在 vscode 那边的解释,很到位 👍
要多谢你的 pr,我要被这个bug烦死了,发现这个问题之后就去 vscode 逛过,很早就看到过你的 pr,但是直到昨天看到那个 issue 才恍然大悟 😂,然后禁用了 vscode-comment-translate 。 要是 vscode-comment-translate 也能发个预览版就好了 😄
1.86要到明年2月才能发布了,也不知道能不能先进1.85.x的小版本😂
1.85已经发布了,并且包含了 @idootop 的pr,现在这个问题可以继续推进了嘛👍
再等等,之前那个 PR 有点问题,昨晚重新提了一个,刚合并进去。要等到 VS Code v1.86.0 正式发布。
在最新的 VS Code 1.86.0-insider 版本上已经修复了:https://code.visualstudio.com/insiders
预览版1.86问题好像依然存在,是我使用方式不正确吗,要进行什么设置吗大佬😂
1.85已经发布了,并且包含了 @idootop 的pr,现在这个问题可以继续推进了嘛👍
再等等,之前那个 PR 有点问题,昨晚重新提了一个,刚合并进去。要等到 VS Code v1.86.0 正式发布。 在最新的 VS Code 1.86.0-insider 版本上已经修复了:https://code.visualstudio.com/insiders
预览版1.86问题好像依然存在,是我使用方式不正确吗,要进行什么设置吗大佬😂
得等 vscode-comment-translate
插件更新,我之前给插件提的 PR 还没合并发版。我是本地自己改源码重新打包插件来测试的。
1.85已经发布了,并且包含了 @idootop 的pr,现在这个问题可以继续推进了嘛👍
再等等,之前那个 PR 有点问题,昨晚重新提了一个,刚合并进去。要等到 VS Code v1.86.0 正式发布。 在最新的 VS Code 1.86.0-insider 版本上已经修复了:https://code.visualstudio.com/insiders
预览版1.86问题好像依然存在,是我使用方式不正确吗,要进行什么设置吗大佬😂
得等
vscode-comment-translate
插件更新,我之前给插件提的 PR 还没合并发版。我是本地自己改源码重新打包插件来测试的。
好的,感谢大佬
BUG: 这个BUG会出现在VSCode1.73以上版本 当鼠标在框选任何可以触发悬停翻译的内容时,有概率出现聚焦到悬停提示上,导致不能继续输入或更改代码,必须手动取消一下悬停提示
BUG复现: 用鼠标按住左键框选可以悬停翻译的内容,不要放开左键 在框选的过程中鼠标还在移动悬停提示就会触发(如果关闭这个插件,鼠标还在移动框选的时候是不会出现悬停提示的) 这时候触发悬停提示就有很大概率聚焦到悬停提示上面,导致vscode主窗口无法继续输入
建议: 改成跟vscode默认一样,鼠标还在移动框选的时候,悬停提示不要触发,停下了再触发