IDLE: add a Unicode character browser
还没有人认领这个 Issue。
- 主要语言
- Python
- 星标
- 77.2k
- 派生
- 35.9k
- PR 合并指标
- PR 指标待抓取
描述
Feature or enhancement
IDLE has no way to browse or search for a Unicode character. Inserting one requires already knowing its code point (and typing an escape) or pasting it from another application.
Besides making characters easy to insert, such a tool is useful for learning about Unicode — exploring blocks, looking up a character's name, category, and other properties, and seeing how it is written as an escape, as UTF-8 bytes, as an XML or HTML reference, and in the normalization forms.
I propose a Character Browser, similar to KDE's kcharselect and GNOME Characters, added as a CharSelect extension on the Edit menu (available in both the Shell and the editor).
Features:
- A grid of Unicode blocks selected from a drop-down, scrollable, with hover and selection highlight.
- Search by character name substring, or by code point in many notations:
U+2764,0x2764,❤,❤, a bare hex/decimal number,\u/\U/\x/\N{...}/simple escapes, surrogate pairs, and a UTF-8 byte escape run. - A detail panel with three tabs: an Overview (name, code point, decimal), a Repr tab (literal, Python escape, UTF-8 bytes, surrogate pair, XML and HTML references,
\N{...}), and a Unicode tab (block, category, bidi, combining, East Asian width, mirrored, decomposition, numeric values, and normalization forms). - Insert the character at the cursor of the editor or Shell (replacing any selection, and staying within the Shell's input area), or Copy it to the clipboard. Double-clicking a character in the grid inserts it.
- On the detail tabs, clicking a value copies it and double-clicking inserts it.
When opened with an editor selection, the browser seeds the search with it.
A PR will follow.
Related (not a duplicate): #80648 (help with invisible characters).
Linked PRs
- gh-152945
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先检查 IDLE 的 Edit 菜单中提议的 CharSelect 扩展,以及链接的 PR gh-152945。针对 Shell 和编辑器,分别将实现与列出的 Unicode 浏览、搜索、详细信息、插入和复制要求进行比较;完成意味着已实现并验证约定的范围。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- desktop
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100