我最近将 Mac 操作系统从 Sierra 更新到 Monterey。从那时起我就遇到了一些问题。其中之一是在 VSCode 中,当我对文件进行更改时,更改不会反映在源代码管理或资源管理器中,直到在源代码管理选项卡中手动单击刷新按钮。谁能帮我解决这个问题吗?
我已经git 2.16安装在我的机器上。
我已经更新了VSCode的版本并git.autorefresh设置为true。
更新1:
我重新安装了git。我现在有git 2.35.1。但该选项卡仍然Source Control不会自动刷新。
我正在尝试相对于其目标动态定位弹出窗口。它在桌面浏览器中运行良好。但在移动浏览器中,这些位置是有问题的。这主要是因为,在桌面浏览器中,即使页面滚动,元素的 offset() 也会给出相同的值。但在移动浏览器中,当页面滚动时,offset() 会提供不同的值。为了获得实际的偏移量,我们需要这样做,
offset.left -= window.pageXOffset
offset.top -= window.pageYOffset
Run Code Online (Sandbox Code Playgroud)
但并非所有情况都会发生这种情况。仅当页面在移动浏览器中未缩放时才会发生这种情况。此处报告了此问题(https://github.com/jquery/jquery/issues/3187)。
而在此问题页面中,他们提到只有在缩放移动浏览器时才会出现此问题。
无论桌面/移动/ipad 浏览器如何,如何找到正确的偏移量?
我得出了一个解决方案来获取元素的实际偏移量:
function getOffset( element ){
var $body = $('body');
var offset = element.offset();
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
var temp = $('<span>').css({
position:'absolute',
height:'20px',
width:'20px',
top:'0px',
left:'0px'
}).appendTo( $body );
correctionOffset = temp.offset();
correctionOffset.left = correctionOffset.left - parseFloat( $body.css('margin-left') ) - parseFloat( $body.css('border-left-width') ) ;
correctionOffset.top = correctionOffset.top - parseFloat( $body.css('margin-top') ) - parseFloat($body.css('border-top-width') ) ;
temp.remove();
offset.left -= ( correctionOffset.left );
offset.top -= …Run Code Online (Sandbox Code Playgroud)