You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Web使用any_syntax_highlighter包后代码无法格式化的解决咨询

解决any_syntax_highlighter代码格式化问题
  • 第一步:确认依赖安装
    在pubspec.yaml中添加依赖并执行flutter pub get:

    dependencies:
      any_syntax_highlighter: ^最新版本号
    
  • 第二步:基础正确使用示例
    语法格式化的核心是正确传入代码内容并指定对应语言类型,示例代码如下:

    import 'package:any_syntax_highlighter/any_syntax_highlighter.dart';
    import 'package:flutter/material.dart';
    
    class CodeDisplayPage extends StatelessWidget {
      // 待展示的目标代码
      final String code = '''
    void main() {
      print("Hello Flutter Web!");
    }
    ''';
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: Padding(
            padding: EdgeInsets.all(16),
            child: AnySyntaxHighlighter(
              code,
              // 必须指定对应语言(支持dart、java、python等)
              language: Language.dart,
              // 可选:使用内置主题
              theme: SyntaxTheme.dracula(),
              // 可选:调整代码字体大小
              fontSize: 14,
            ),
          ),
        );
      }
    }
    
  • 第三步:排查常见失效原因

    • 检查是否正确设置了language参数,未指定语言时组件不会触发语法格式化。
    • 确认传入的code字符串无转义异常,避免因字符串格式错误导致解析失败。
    • Web端可查看浏览器控制台,排查是否有组件渲染相关报错。
  • 自定义样式扩展(可选)
    若默认主题不符合需求,可自定义语法高亮样式:

    final customTheme = SyntaxTheme(
      baseStyle: TextStyle(color: Colors.white, fontFamily: 'Monospace'),
      keywordStyle: TextStyle(color: Colors.purple, fontWeight: FontWeight.bold),
      stringStyle: TextStyle(color: Colors.green),
      commentStyle: TextStyle(color: Colors.grey, fontStyle: FontStyle.italic),
      // 其余语法元素样式可按需配置
    );
    

内容的提问来源于stack exchange,提问作者Swapnil Mane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:45:33