@ adamcjm/dsh- enhancer
联合国 | 页:1
A 类 深搜索策略 添加小项的插件, 缺少工作空间菜单。 这是故意取名的 之后 区域 而不是一个功能,所以可以添加新的菜单增强功能,而不需要 再次重命名软件包 .
今天它运送四样东西:
| 何处 | 条目 | 它会做什么 |
|---|---|---|
| 工作区行-“...”菜单 | 打开文件夹 | 在 Finder、 Explorer 或您的文件管理器中打开工作空间目录 |
| 工作区行-“...”菜单 | 隐藏工作空间 编号 : 打开工作空间 | 从侧边栏隐藏工作空间和每个会话 |
| 侧边栏 – 查看选项 | 显示隐藏的工作空间( N) | 重现隐藏的工作空间以便恢复 |
| 会话行-"..."菜单 | 移动到回收站 | 将会话文件移动到 $DSH_HOME/trash,从设置中恢复 + 插件 → 回收站 |
几乎只按设计显示 :
- 没有超过用户动作要求的归档、无存档、重命名、移动或标定副作用;
- 工作空间记录、会话日志或归档集没有更改;
- 打开一个文件夹是只读的: 它会发射OS文件管理器, 而不是其它的 ;
- 移动会话到垃圾桶中永远不会删除它: 文件被重新命名为
$DSH_HOME/trash/sessions/可恢复; - 唯一持久的非崩溃状态是一个小主机文件
(单位:千美元)
$DSH_HOME/storages/dsh-enhancer.json) (中文(简体) ).
安装
dsh plugin --profile <profile> add @adamcjm/dsh-enhancer
或者用手绑在档案里 package.json数字 :
{
"dependencies": {
"@adamcjm/dsh-enhancer": "^1.0.0"
},
"dsh": {
"profile": {
"bundles": ["…", "@adamcjm/dsh-enhancer"]
}
}
}
重新启动主机(或让配置文件的活补丁重新装入)并刷新Web UI.
地方发展
将配置文件指向此检出而非注册 :
{
"dependencies": {
"@adamcjm/dsh-enhancer": "link:/absolute/path/to/dsh-enhancer"
},
"dsh": {
"profile": {
"bundles": ["…", "@adamcjm/dsh-enhancer"]
}
}
}
npm test 以零依赖性运行两个半导体: 浏览器半入 vm 沙盒
假DOM,主机半对临时 DSH_HOME 和节点式请求/答复
伪造的 套房从不推出真正的文件管理器.
使用量
打开工作空间文件夹
单击工作空间行上的“...”按钮并选择 打开文件夹。东道方决定 工作空间登记册和发射的目录:
| 平台 | 命令 |
|---|---|
| 马科斯 | /usr/bin/open <path> |
| 窗口 | explorer.exe <path> |
| 链接 | xdg-open <path> |
记录失败
- 文件夹已不存在 ——注册目录已去(
status()实值missing-dir(三); - 无法打开 ——发射台无法被产出,或平台得不到支持.
页面从不发送路径. 它只发送工作空间ID, 主机则查看目录
这样一行僵硬 永远不能让主机打开任意的文件夹 。 登记人数
路径是峡谷 fs.realpath ,也就是说它是
未因工作空间更名而受影响(rename 只更改显示标题).
隐藏并恢复工作空间
- 工作空间行 ~ "..." 菜单 ~ 隐藏工作空间 ——行和会话全部消失. 当隐藏行再次可见时, 同一条目为 打开工作空间。 。 。 .
- 侧边栏 – 查看选项 – 显示隐藏的工作空间( N) ——坚持开关,揭示出 每个隐藏的工作空间;标签带有当前隐藏的计数.
隐藏的ID 住在主机上 $DSH_HOME/storages/dsh-enhancer.json。浏览器不会
复制: 它获取状态一次, 然后接收 SSE 流的每个变化
(单位:千美元)/dsh-enhancer/stream),所以桌面和 dsh web (两个主机程序共享一个)
$DSH_HOME保持同步而不刷新。 变相旅行作为增量,所以两个客户
隐藏不同的工作空间不能覆盖彼此.
将会话移动到回收站
会话行 ~"."菜单 ~ 移动到回收站.
- A 类 运行 会话被拒绝: 对话框是这样说的, 只提供 Close 。 停下来 第一会期.
- 与 儿童会议 (副代理)问道:
- 只删除此会话 ——父母离开,子女留在原地当孤儿
(他们)
parentSession现在指向已不存在的会话); - 以 N 子会话删除 父母和所有子女一起生活,以及 恢复母体也会恢复它们.
- 只删除此会话 ——父母离开,子女留在原地当孤儿
(他们)
- 报告无法找到文件的会话 什么都没有触动 ——插件 未关闭而不是猜测路径 .
文件移动到 $DSH_HOME/trash/sessions/<timestamp>_<sessionId>/data/,旁边
manifest.json 记录标题、工作空间、 cwd、 原始相对路径、 大小和
由同一删除创建的子条目.
从设置恢复 ~ 插件 ~ 回收站 . 标签中列出每个被删除的会话及其 标题、工作空间、年龄、大小和孩子数。 选中您想要的条目 :
| 按钮 | 范围 | 确认 |
|---|---|---|
| 恢复( N) | 仅选中条目 | 无 |
| 永久删除( N) | 仅选中条目 | 是的,"无法恢复" |
| 空的垃圾桶( N) | 全部垃圾, 忽略选择 | 对,"空出一切" |
恢复父母关系还恢复了与孩子一起创建的条目。 恢复会话为
当工作空间仍然存在时重新附在原工作空间内,否则由它们重新组合
w. Empty trash 只删除 $DSH_HOME/trash/sessions/* - 它从来不碰DSH自己的
sessions/ 目录.
如何运作
- 隐藏 永远不要碰DOM。 插件包装
workspaces.list客户端模式 (单位:千美元)getSnapshot编号 :subscribe)并投影一个被过滤的快照,所以侧边栏,它的搜索 结果和英雄工作空间拾取器都把工作空间藏在一个地方. 会议 属于隐藏的工作空间的,合并为 仅查看 存档设置为已运出 分组不能跟踪到“ 未分组” —— 没有写入归档 . - 菜单条目 是DOM的添加。 已发送的工作空间行菜单和查看选项菜单
在 DSH 02.1- rc 中没有插件的硬编码数组,所以插件附件会复制条目
运出物品的自类。 A 类
MutationObserver打开后找到菜单门户 . 会话菜单项和垃圾标签 实际槽 (单位:千美元)sidebar.workspaces.session.menu.item, (中文(简体) ),settings.plugins.tab, (中文(简体) ),shell.overlay),而不是DOM(数字数据) 注射剂. - 东道主一半 拥有耐用状态和
open-workspace行动。 开幕是a 分离spawn与stdio: 'ignore',所以HTTP请求在 发射器存在. - 拖曳 从未直接编辑 DSH 存储 。 主机先丢下耐用
通过公共登记处的参考文献 API
detachSession, (中文(简体) ),unarchiveSession, (中文(简体) ),unpinSession),然后将会话目录重命名为垃圾桶并写入 显出. 通过匹配<sessionId>内部的条目名称$DSH_HOME/sessions/<group>/,因此DSH路径编码或切换到一个 单文件布局失败, 而非删除错误 .
升级自 @adamcjm/dsh-workspace-visibility
此包取代了它. 隐藏工作空间特性相同, 第一个开始 一次通过旧状态文件,所以您的隐藏列表在升级中存活了下来.
dsh plugin --profile <profile> remove @adamcjm/dsh-workspace-visibility
dsh plugin --profile <profile> add @adamcjm/dsh-enhancer
移徙详情:
$DSH_HOME/storages/workspace-visibility.json被读取一次,复制到dsh-enhancer.json,以及 留在原地 所以回滚仍然有效.- 不要同时保留两个软件包: 每个软件包都输入自己的菜单项, 所以工作空间菜单会显示重复.
兼容性
- DSH 6.2.1-弧或更新(
workspaceRegistry东道服务,workspaces.list客户模式, 地方服务,webServer(原始内容存档于2018-09-25). route carrier. - 主机过程中的节点.js 20+.
- macOS, Windows 和 Linux (英语). “打开文件夹”需要桌面会话; 在无头上 东道国
路径解答方式
open-failed。 。 。 . - 为您服务的主机是打开文件夹的主机 。 与远程主机 文件管理器在远程机器(或失败)上打开,从未在笔记本上打开.
许可证
麻省理工学院