C6.24.3Disabling auto-format for names and code设计研究

专有名词、代码片段等场景中自动格式化经常适得其反,需要可关闭

别名: 关闭自动格式 · camelCase · 品牌大小写

概念解释

品牌名(iPhoneeBay)、人名中的小品词、编程标识符(getIDfile_v2)依赖精确的大小写和标点。自动大写和智能标点会把它们改成“更像句子”的样子,于是专名和代码在这些字段里经常被破坏。这类字段需要可关闭的格式化,而且默认就应关掉,而不是让用户在系统设置深处找总开关。这里关掉的是大小写与标点规则,不是词典纠错——纠错关的是换词,格式开关关的是改形。

机制

专名的大小写是词汇身份的一部分:iPhoneIphone 在搜索、许可证校验、API 里可能被当成不同字符串。代码对引号类型、连字符与破折号、空格种类同样敏感。自动格式化按“书面语美观”优化,目标函数和这些字符串相反。系统级总开关解决不了按字段的语义:同一块键盘,聊天气泡里要弯引号,下面紧挨着的代码块不要。如果关闭入口只存在于操作系统设置,应用字段无法单独豁免,用户只能忍受或整机关掉,伤害散文场景。

怎么研究

建立一份故意“不规则大小写”的专名和标识符清单,在默认格式化开/关的字段里输入,记录被改写的比例和发现延迟。把应用内逐字段开关与系统总开关分开测:有逐字段开关时,散文区是否仍保持格式化。不要用拼写错误材料,以免和自动纠错实验搅在一起。

边界

通讯录如果有“按语言规则显示人名”的层,存储层仍应保留用户敲入的大小写,显示层再格式化。Markdown 预览把星号变成粗体是渲染,不是改缓冲区;两者要分开。用户主动使用的代码片段展开(缩写词条)是明确命令,不算静默格式化,但仍应可编辑。法律文书模板需要固定引号风格时,应用可以强制格式,但必须在界面上标明,而不是躲在键盘里。

怎么落地

  • 用户名、品牌、代码、查询参数、正则字段默认关闭自动大写和智能标点。
  • 关闭控件放在字段附近或键盘附件栏,不要只指向系统设置。
  • 从聊天切换到代码块时自动切换这些规则,切回来再恢复。
  • 验证:输入 iPhoneeBaygetIDit's(代码里要直引号),确认标识符字段字节不变;同时确认相邻的散文字段仍能句首大写。

延伸

  • 同组C6.24.1 首字母自动大写假设句子边界符合英文语法规则,在其他场景可能出错 · C6.24.2 自动格式化会在用户未察觉时改变已输入内容 · C6.24.4 自动更改应可见且可一步撤销,否则用户会怀疑是否打错了字
  • 相邻C6.11 自动纠错 · C6.07 键盘类型与场景匹配
  • 站内检索disable autocapitalization · camelCase · smart punctuation off

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C6.24.3