✨ Column selection
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
調査の方向性
Issue にはファイルやテストの指定がありません。まず、CodeEditTextView に既存の選択、カーソル、キーボード、マウス、クリップボードの各エントリーポイントを追跡します。完了の条件は、記載されている入力方法と編集操作で列選択が機能し、十字カーソル、クリップボード対応、互換性のカバレッジ、ユーザーガイドのドキュメントが備わっていることです。
索引モデルが issue の本文から書いたものです。
説明
Description
We need to implement column selection (also known as block selection or rectangular selection) in CodeEdit, allowing users to select text in a columnar fashion. This feature is particularly useful for editing structured text, such as code, where the same changes need to be applied to multiple lines simultaneously.
Triggering Column Selection:
- Users should be able to initiate column selection by either
- holding down the
⌥ Optionkey and dragging the mouse or - using the keyboard with
⇧ Shift+⌃ Control+▲ up/▼ downarrow keys
- holding down the
Visual Indication:
- There should be a clear visual indication that column selection mode is active by changing the cursor to crosshairs
Editing Behavior:
- When text is typed while in column selection mode, it should replace the selected text in all lines within the selection.
- Deleting should remove the selected block of text across all lines.
- Navigating and selection with the arrow keys should apply to each cursor as expected, including with modifier keys held
Clipboard Support:
- Copying should retain the multi-line selection.
Additional Context
This feature is common in many text editors and IDEs, such as Visual Studio Code, Sublime Text, and JetBrains IDEs, and can significantly enhance productivity, especially when working with large codebases.
Possible Challenges
- Ensuring that column selection works seamlessly with all supported languages and file types.
- Managing edge cases, such as selections that start or end in the middle of a tab character or mixed tab/space indentations.
References
Tasks
- Implement the core column selection functionality.
- Change cursor when ⌥ is held and over editor to indicate column selection mode.
- Ensure clipboard operations work with column selections.
- Test for compatibility with other editor features and languages.
- Document the feature in the CodeEdit user guide.
Screenshots
https://github.com/user-attachments/assets/55c15e53-d341-417e-81d6-9aaccbe1fc9f
- 主要言語
- Swift
- スター
- 182
- フォーク
- 57
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
CodeEditApp/CodeEditTextView のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
CodeEditApp/CodeEditTextView#124 ·
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
CodeEditApp/CodeEditTextView#121 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 28/100
CodeEditApp/CodeEditTextView#119 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
CodeEditApp/CodeEditTextView#106 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
CodeEditApp/CodeEditTextView の issue をすべて見る
似ている issue
-
area:dictation documentation P2
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
uttrflow/uttrflow-swift#1180 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
OneBusAway/onebusaway-ios#1451 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100