File view: no multi-select, so batch drag / delete is not possible

オープン
#3,558 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
22/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
go
領域
frontend

調査の方向性

Start with CONTRIBUTING.md, which asks that larger changes be discussed first, and with the File Preview keybindings in the docs. The issue places the work in the file view model, which tracks a single current-file cursor, and in its drag and delete handlers. Related issues #965 and #2044 overlap in scope. Done means maintainers agree on a first step, such as Cmd/Ctrl+click and Shift+click, and the agreed behavior is in place.

索引モデルが issue の本文から書いたものです。

説明

File view: no multi-select, so batch drag / delete is not possible

Summary

The file view component only supports a single "current" file at a time. There is no way to
select more than one file, so any batch operation — dragging a group of files into another
directory, deleting a set of files, opening several files at once — has to be repeated one
file at a time. This is the single biggest friction point for me in an otherwise excellent
file workflow.

This sits in the same area as #965 (file management generally — rename / delete / cut /
copy / paste) and overlaps partly with #2044 (multi-select during upload). It is narrower
than both: this is only about multi-selection inside the file view, which is the
prerequisite that makes any of those actions usable in bulk rather than one file at a time.
Concretely, #2044 is about picking several files to send somewhere; this is about being able to
select several files and then act on them (move, delete, rename, open).

Wave Version

0.14.5

OS

macOS 26.2 (arm64)

Steps to reproduce

  1. Open a directory that contains more than a couple of files in the file view.
  2. Try to build a multi-file selection using any of the usual gestures:
    • Cmd-click a second file
    • Shift-click a range of files
    • Rubber-band / marquee drag across several rows
    • Shift+Up / Shift+Down from the current file
  3. In every case the selection collapses back down to a single file. There is no visible
    indication that a multi-select is even possible.

Expected behavior

Standard file-manager selection semantics:

  • Cmd/Ctrl+click — add or remove a file from the selection
  • Shift+click — select a contiguous range
  • Shift+Up / Shift+Down — extend the selection with the keyboard
  • Rubber-band / marquee selection
  • Ctrl/Alt+Up / Alt+Down (or Shift+Arrow equivalents) — grow / shrink the selection

And with a multi-selection in place, batch actions on the whole set:

  • Drag the selection to move or copy all selected files at once
  • Delete (move to trash) all selected files in a single action
  • Open all selected files, e.g. across tabs or split views

Actual behavior

Only one file can be current at a time. Per the File Preview keybindings in the docs, Up/Down
merely "change file selection up/down", and no modifier-based multi-select is documented or
implemented. As far as I can tell there is also no file-side delete shortcut at all, which
makes bulk cleanup especially tedious.

Current workarounds

  • Move / rename / delete files from a terminal block with mv, cp, trash, rm, etc.,
    then refresh the view with Alt+Shift+R.

These work fine, but they mean the file view itself can't be used for what a file view is
normally for, so every time I come back from the shell the multi-select is still missing.

Anything else?

Happy to discuss scope — my instinct is that this is a contained change: keep a selected-set
next to the existing current-file cursor in the file view model, then add click handling,
keyboard range extension, and route the existing drag / delete handlers to the set instead of
the single item. Let me know if you'd prefer a smaller first step (for example Cmd/Ctrl+click
plus Shift+click only, no marquee drag).

Per CONTRIBUTING.md I understand larger changes should be discussed in Discord first — happy
to move this there if that's the better venue.

主要言語
Go
スター
22.7k
フォーク
1.2k
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

wavetermdev/waveterm のほかの issue

wavetermdev/waveterm の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。