Skip to content

外观 ​

把 theme、settings 传给 SweetEditor,或在就绪后调用 applyTheme / setSettings。

颜色是打包的 ARGB Int(0xAARRGGBB)。大于 0x7FFFFFFF 的字面量要 .toInt()。

EditorSettings ​

字段默认说明
wrapModeNONECHAR_BREAK、WORD_BREAK
tabSize4
insertSpacestrue
lineSpacingAdd0f额外像素
lineSpacingMult1.2f
scale1f视觉缩放初值
fontSizeSp14f
readOnlyfalse
gutterVisibletrue
gutterSticky平台默认粘性行号
currentLineRenderModeBACKGROUNDBORDER、NONE
foldArrowModeALWAYSAUTO、HIDDEN
renderWhitespaceNONEBOUNDARY、SELECTION、TRAILING、ALL
renderLineBreaksfalse
autoIndentModeKEEP_INDENT或 NONE
backspaceUnindenttrue
decorationOverscanViewportMultiplier1fProvider 额外视口
decorationScrollRefreshMinIntervalMs50节流

EditorTheme ​

EditorTheme.dark() 即默认构造。EditorTheme.light() 是浅色预设。

常见分组:

  • 表面:backgroundColor、textColor、cursorColor、currentLineColor
  • 行号区:lineNumberColor、currentLineNumberColor、splitLineColor、gutterIconColor
  • 滚动条:scrollbarTrackColor、scrollbarThumbColor、scrollbarThumbActiveColor
  • 选区 / 链接 / CodeLens / 搜索 / 诊断 / 高亮 / 联动编辑 / 括号
  • Diff:diffAdded* / diffRemoved*
  • 菜单与内联建议条
  • fontFamily(默认 FontFamily.Monospace)
  • rangeEffects: EditorRangeEffects? — 按区间覆盖

EditorRangeEffectStyle 含 foregroundColor、backgroundColor、borderColor、underlineColor、underlineStyle(NONE、SOLID、DASHED、WAVY)。

rangeEffects 为 null 时,主题颜色字段会自动映射(选区背景、波浪诊断、实线 IME 下划线等)。