Skip to content

Add binary file editor extension with Explorer context menu API#271

Merged
Stasshe merged 6 commits intomainfrom
copilot/add-binary-file-editor
Jan 20, 2026
Merged

Add binary file editor extension with Explorer context menu API#271
Stasshe merged 6 commits intomainfrom
copilot/add-binary-file-editor

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 20, 2026

  • Issue内容の理解と拡張機能システムのドキュメント確認
  • Explorerコンテキストメニューの拡張対応
  • バイナリエディター拡張機能の作成
    • Hex表示(16バイト/行)+ ASCII表示
    • 仮想化スクロール(Monaco風の高パフォーマンス)
    • バイト選択・インライン編集
    • Hex検索機能
    • キーボードナビゲーション
    • 保存機能 (Ctrl+S / Saveボタン)
    • 置換機能 (Replace / Replace All)
    • サイドバーパネルを削除
    • オフセットとASCII列のテキスト選択を分離 (user-select: none)
  • ドキュメント更新
  • コードレビュー修正
    • deprecated substrsubstringに置換
    • setTimeoutを削除し、代わりに検索結果をクリア
Original prompt

This section details on the original issue you should resolve

<issue_title>binary file editor Explorer コンテキストメニュー 拡張機能</issue_title>
<issue_description>拡張機能の、バイナリファイルのエディターを追加して欲しい。
monacoでは厳しいかもしれんから、自作で。高度で、monacoのようなスクロール管理を。

本格実装。

また、このエディターを開くには、Explorerの、長押しor右クリックメニューのところから、バイナリファイルの場合この選択肢を追加するって感じ。

コンテキストメニューは、今だと拡張機能からの動的読み込みに対応してないから、それ対応させて。ドキュメントなども更新。</issue_description>

<agent_instructions>最初に拡張機能のドキュメントを全て確認して、拡張機能を新規作成して。便利なコマンドがあるから、(pnpm run create-extension)を使って。バイナリーエディターに便利なライブラリがあるならライブラリを使って。(pyxis全体ではなく、その拡張機能でinstall)また、拡張機能はやや不安定なので、もしかするとCDNの方が良い時がありますが、ほとんどの場合pnpm libraryでうまくいきます。</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: Stasshe <133995608+Stasshe@users.noreply.github.com>
Co-authored-by: Stasshe <133995608+Stasshe@users.noreply.github.com>
Co-authored-by: Stasshe <133995608+Stasshe@users.noreply.github.com>
Copilot AI changed the title [WIP] Add binary file editor extension for Explorer context menu Add binary file editor extension with Explorer context menu API Jan 20, 2026
Copilot AI requested a review from Stasshe January 20, 2026 07:33
@Stasshe
Copy link
Copy Markdown
Owner

Stasshe commented Jan 20, 2026

@copilot これ修正して。あと、変更後に、modifiedとなるだけで、保存されてるように思えない。1ピクセルとかだkら私が気づいてないだけ?置換も追加。tsc --noEmit 2>&1 | head -50
src/components/AI/AIPanel.tsx(541,53): error TS2353: Object literal may only specify known properties, and 'count' does not exist in type 'TranslateOptions'.
src/components/Bottom/ProblemsPanel.tsx(375,81): error TS2304: Cannot find name 't'.
src/engine/cmd/shell/executor.ts(140,21): error TS2345: Argument of type 'string' is not assignable to parameter of type 'string[]'.あと、できればなんだけど、OSのネイティブの文字選択をしたとき、01
00
00
00
AA
01
1B
00
05
00
00
00
01
00
00
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
00000050
00
B2
01
28
00
03
00
00
00
01
00
02
00
00
01
31
.
.
.
(
.
.
.
.
.
.
.
.
.
.
.
1
00000060
00
02
00
00
00
07
00
00
00
BA
01
32
00
02
00
00
.
.
.
.
.
.
.
.
.
.
.
2
.
.
.
.
00000070
00
14
00
00
00
C2
01
3C
00
02
00
00
00
05
00
00
.
.
.
.
.
.
.
<
.
.
.
.
.
.
.
.
00000080
00
D6
02
13
00
03
00
00
00
01
00
01
00
00
87
69
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
i
00000090
00
04
00
00
00
01
00
00
00
DC
88
25
00
04
00
00
.
.
.
.
.
.
.
.
.
.
.
%
.
.
.
.
000000A0
00
01
00
00
09
08
00
00
0A
3E
41
70
70
6C
65
00
.
.
.
.
.
.
.
.
.

A
p
p
l
e
.
000000B0
69
50
61
64
00
00
00
00
00
48
00
00
00
01
00
00
i
P
a
d
.
.
.
.
.
H
.
.
.
.
.
.
000000C0
00
48
00
00
00
01
32
36
2E
30
2E
31
00
00
32
30
.
H
.
.
.
.
2
6
.
0
.
1
.
.
2
0
000000D0
32
36
3A
30
31
3A
32
30
20
31
36
3A
30
32
3A
31
2
6
:
0
1
:
2
0
1
6
:
0
2
:
1
000000E0
32
00
69
50
61
64
00
00
00
24
82
9A
00
05
00
00
2
.
i
P
a
d
.
.
.
$
.
.
.
.
.
.
000000F0
00
01
00
00
02
92
82
9D
00
こんなふうに、オフセットとasciiが一緒に選択されてしまうから、別にしたいが、無理そうなら、今の素晴らしい出来栄えが壊れそうだからいらない。あと、01
Binary Editor
Hex editor for binary files.

Right-click or long-press a binary file in Explorer to open it with Binary Editor.

Keyboard shortcuts:このサイドバーのやつはいらない、消して。

…ction

Co-authored-by: Stasshe <133995608+Stasshe@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jan 20, 2026

@copilot これ修正して。あと、変更後に、modifiedとなるだけで、保存されてるように思えない。1ピクセルとかだkら私が気づいてないだけ?置換も追加�...

Fixed in 1642b02:

  1. 保存機能: Save ボタンと Ctrl+S で保存できるようになりました。fileRepositoryのsaveFile APIを使用してバイナリファイルを保存します。

  2. 置換機能: Find入力の隣に「Replace」ボタンを追加。クリックすると置換入力が展開され、「Replace」(現在のヒットを置換)と「Replace All」(全て置換)ができます。

  3. サイドバーパネル: 削除しました。

  4. テキスト選択: オフセットとASCII列に user-select: none を追加し、Hex列のみ選択可能にしました。これでネイティブのテキスト選択時にオフセットとASCIIが一緒に選択されなくなります。

なお、コメントに含まれていたTypeScriptエラーは、このPRとは無関係の既存のエラーです(AIPanel.tsx、ProblemsPanel.tsx、executor.ts)。

…Timeout

Co-authored-by: Stasshe <133995608+Stasshe@users.noreply.github.com>
@Stasshe Stasshe temporarily deployed to copilot/add-binary-file-editor - pyxis-code PR #271 January 20, 2026 07:51 — with Render Destroyed
@Stasshe Stasshe marked this pull request as ready for review January 20, 2026 07:57
@Stasshe Stasshe merged commit 6ee65dc into main Jan 20, 2026
@Stasshe Stasshe deleted the copilot/add-binary-file-editor branch January 20, 2026 07:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

binary file editor Explorer コンテキストメニュー 拡張機能

2 participants