升级到 Ubuntu 19.10 后,我注意到代码中有一个奇怪的行为:如果我双击一个目录或一个单元或右键单击一个目录并尝试打开该目录是由代码打开的,除非 nemo 或 nautilus。
将 repo添加到 apt 后,我通过microsoft repo安装代码
我不知道是microsoft还是gnome还是ubuntu问题。
但这种行为并不友好。
升级到 Ubuntu 19.10 后,我注意到代码中有一个奇怪的行为:如果我双击一个目录或一个单元或右键单击一个目录并尝试打开该目录是由代码打开的,除非 nemo 或 nautilus。
将 repo添加到 apt 后,我通过microsoft repo安装代码
我不知道是microsoft还是gnome还是ubuntu问题。
但这种行为并不友好。
我找到了临时解决问题的解决方法。
找到
~/.local/share/applications/mimeapps.list
并确保将 inode/directory= 设置为您的文件管理器。
例子:
inode/directory=nautilus-folder-handler.desktop;
文件相同
~/.config/mimeapps.list
然后找到代码桌面文件。
我的在里面
/usr/share/applications/code.desktop
,换行MimeType=text/plain;inode/directory;
至
MimeType=text/plain;
然后做
$ sudo update-desktop-database
对我来说这项工作,但如果 vscode 更新所有重置为初始行为。
/usr/share/applications/code.desktop
恢复为初始值。所以为了让一切更快,我写了一个脚本:
等待稳定的解决方案这可能是可以接受的
更新
我已将上面的脚本放在一个
after-upgrade-code.sh
并以这种方式进行更改(我将它放在 PATH env 中):我说的
/etc/apt/apt.conf.d/100update
:如果最后一次 apt upgrade 对代码进行更改,它将升级 code.desktop
更新
我已经做了一些测试,但不确定 postinvoke 脚本是否工作正常:问题是我不确定 history.log 在 Post-Invoke 时间是否已更新,因此脚本可以记录是否未更新历史记录。
这是第 2 版,这将被触发:
这:
CHECK="$(date '+%Y-%m-%d %H:%M')"
获取日期时间只需要一分钟。这:
${CHECK:0:-1}
削减分钟单位并保留十,因此grep:
grep "$CHECK" /var/log/dpkg.log
检查“代码”升级是否在不到十分钟内完成,如果经过验证,请尝试更新 code.desktop 以避免“代码”将用于打开文件夹。
我已经改变了钩子触发:
sudo cat /etc/apt/apt.conf.d/100update
给:
DPkg::Post-Invoke {"/home/leonardo/sviluppo/script/after-upgrade-code.sh";};
更新
我写错
UPDATED
了(UPTDATED
),现在是正确的。更新
最新版本工作:我已经验证了:-)
拷贝文件:
并编辑
~/.local/share/applications/code.desktop
:MimeType=text/plain;inode/directory;application/x-code-workspace;
至
MimeType=text/plain;application/x-code-workspace;