OneDrive for macOS 支持占位符同步了——以及我对该功能的讨论

2019-01-28 09:08:20 +08:00
 geelaw

既然有了 MacBook,自然就要关心各种工具在 macOS 上的可用性和好用性。

占位符同步,自从 Windows 8 以来最喜欢的功能也可以在 macOS 上使用了,极大提升了我使用 macOS 的体验。(我知道 iCloud Drive 可以,我也知道 Google Drive 也可以。)

不过和 PowerShell for macOS 的兼容性似乎有点问题,用 Invoke-Item 不一定能打开文件,见 GitHub/PowerShell/PowerShell/issues/8760

多说几句

之前有个 /t/453864 有尝试在 Linux 下实现占位符同步的 OneDrive 客户端。但从功能实现的难度上来说,似乎 macOS 实现该功能最简单——至少要做到双击的时候自动下载文件是最简单的。因为 macOS 支持设置每个文件单独的打开方式,所以 OneDrive 可以把元信息存储好了之后把占位文件的打开方式设置为自己的 handler,然后 handler 只要水合文件( hydrate,这是一个内部的 jargon,表示把文件变成可以在这台电脑上查看的)并查询默认文件处理程序,再调用即可。

当然,实际上的实现没这么简单,因为还要考虑程序直接访问文件的情况(例如用户从“打开文件”对话框里面选择文件,这不经过寻找文件打开程序的过程)。

另外,有兴趣的朋友可以调查一下哪个厂商最先推出的占位符同步功能的吗?(不算 Windows 的 hierarchical file storage,要不然肯定是 Windows,这太作弊了。)是 Windows 8 的 OneDrive,还是 iCloud Drive for OS X/macOS,还是 Google Drive,还是 Dropbox/box ?

2852 次点击
所在节点    macOS
5 条回复
chinvo
2019-01-28 09:19:32 +08:00
Dropbox 高级版有智能同步,就是占位符+自动清理本地不常用文件
AnyISalIn
2019-01-28 10:47:05 +08:00
通过 open 命令能打开嘛,为什么一定要用 powershell
geelaw
2019-01-28 11:19:34 +08:00
@AnyISalIn #2 当然可以,open 是 macOS 内置的,完美模拟 Finder 里面双击,Finder 里面可以(这可是 OneDrive 的首要目标之一)自然是可以的。

为什么要用 PowerShell ?因为 PowerShell 比 bash 更可移植且我最擅长的命令行 shell 是 PowerShell (你可以参考我的 blog 构建系统,之前一直是 Windows exclusive 的,拿到新电脑之后修了十几行就可以在 macOS 上跑了)。如果用 open 的话我的代码就不能在 Windows 上跑了,也不能在 Linux 上跑(如果将来我使用)。
agagega
2019-01-28 13:26:14 +08:00
好像 iCloud 这个占位符功能是从 Sierra 还是 El Capitan 开始的
LightningDog
2019-01-28 14:48:13 +08:00
之前就郁闷为什么 macos 的 onedrive 没有这功能,今天终于来了,不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/531120

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX