vscode TreeView.selection 不包含聚焦但未高亮显示的项目

lrl1mhuk  于 6个月前  发布在  Vscode
关注(0)|答案(6)|浏览(73)

当查看 TreeView.selection 时,似乎树视图只跟踪选定的项目,但不跟踪焦点所在的项目。例如,在树中点击任意项目,然后使用箭头键上下移动。焦点项目已更改,但没有办法以编程方式获取它。

在这里,selection 只包含 MyFile3 而没有 MyFile1,尽管它是焦点所在。
这很烦人,因为我们有一个项目树视图,用户可以删除、复制、粘贴等操作。所以他们应该能够在焦点项目上执行这些操作,就像在资源管理器中一样。
#157406 有点相似,但这需要可访问焦点项目(边框但无高亮)。如果我不得不修改 API,那就是将它们分开 focusedItemselection

yptwkmov

yptwkmov1#

如果我可以:即使在阅读了文档之后,我仍然发现很难理解在树形视图中应用“揭示”方法时,对于给定节点的“焦点”和“选择”之间的正确区别或意义。
也许文档还应该给出一些细微的精度(例如上面由@EhabY 提供的截图),当焦点在树形视图中时,轮廓“光标”如何随着上下箭头键移动。
感谢您的伟大产品!:)

3mpgtkmj

3mpgtkmj2#

这个功能请求现在是我们待办事项列表的候选项目。社区有60天的时间对这个问题进行投票。如果它收到20个赞成票,我们将把它移到我们的待办事项列表中。如果没有,我们将关闭它。要了解更多关于我们如何处理功能请求的信息,请参阅我们的documentation
快乐编码!

lvjbypge

lvjbypge3#

这个功能请求收到了足够多的社区投票,我们将其移动到了我们的待办事项列表中。要了解更多关于我们如何处理功能请求的信息,请参阅我们的documentation
快乐编码!

os8fio9y

os8fio9y4#

当前的建议是暴露一个名为 activeItem 的属性:
https://github.com/ehaby/vscodetreeviewfocus/blob/d23158246aaa474996f2237f735461ad47e41403/src/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts#L10-L29

j0pj023g

j0pj023g5#

API反馈:

  • 在同一刻触发激活和选择:我们目前不这样做,因为我们依赖于异步数据树,监听两个不同的事件并进行rpc调用。
  • 当树失去焦点时不要取消激活项目:看起来这已经没问题了。
d6kp6zgx

d6kp6zgx6#

目前,这是一个无争议的API更改。然而,在考虑最终确定之前,#185563必须得到修复。

相关问题