在 CentOS 下分享 Flutter 代码的常用方式
- 适合在 Linux 桌面(CentOS) 直接把文本或文件发给同事、社区或社交平台的方式主要有:
- 生成可复制的 GitHub Gist 链接;
- 使用 share_plus 调用系统“分享”对话框(Linux 会弹出系统分享界面);
- 导出为 HTML 高亮页面 便于浏览器查看与转发;
- 通过 Git 仓库协作分享(适合团队长期维护)。
方式一 生成 GitHub Gist 并分享链接
- 安装 GitHub CLI(gh):
- 下载安装脚本并放到 PATH(示例):
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
echo “deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main” | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update && sudo apt install gh -y
- 登录账号:gh auth login(按提示完成浏览器或设备码登录)。
- 分享单个文件或整个目录:
- 单文件:gh gist create lib/main.dart -d “Flutter main entry” -p(创建为 私密 Gist,-p 可省略为公开)
- 整个项目(排除构建产物):
tar czf flutter-demo.tar.gz --exclude=‘.git’ --exclude=‘build’ .
gh gist create flutter-demo.tar.gz -d “Flutter project archive”
- 复制生成的 Gist URL 发给对方即可。对方可直接在线查看或克隆/下载。
方式二 在 App 内用 share_plus 一键分享(桌面会弹出系统分享对话框)
- 添加依赖(pubspec.yaml):
- dependencies:
share_plus: ^10.1.4
- 示例代码(将选中的 Dart 代码复制到剪贴板并调起系统分享):
-
import ‘package:flutter/material.dart’;
import ‘package:share_plus/share_plus.dart’;
import ‘package:clipboard/clipboard.dart’;
void _shareCodeSnippet(BuildContext context, String code, {String? title}) async {
// 先复制到剪贴板,提升易用性
await FlutterClipboard.copy(code);
// 再调起系统分享(Linux 会弹出系统分享对话框)
await Share.share(
code,
subject: title ?? ‘Flutter 代码片段’,
).catchError((e) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(‘分享失败:$e’)),
);
});
}
- 说明:share_plus 在 Android/iOS/Web/Desktop 均提供原生分享体验;在 Linux(CentOS) 会调用系统原生对话框,可直接选择目标应用(如邮件、IM、粘贴板工具等)。
方式三 导出为 HTML 高亮页面便于浏览器查看与转发
- 使用命令行高亮工具生成静态页面(示例用 highlight.js 或 pygments,任选其一):
- highlight.js 方案(简单、零依赖 Node.js):
- 安装:sudo npm i -g highlight.js
- 高亮并导出:
highlight -l dart lib/main.dart -o main.html --style github
- pygments 方案(需 Python):
- 安装:sudo pip install pygments
- 高亮并导出:
pygmentize -l dart -f html -o main.html lib/main.dart
- 将生成的 main.html 放到任意静态文件服务器(如 Nginx、Python 临时服务器)或直接用浏览器打开分享链接。
- 若需要在 Flutter 应用内展示高亮代码,可参考使用 flutter_highlight 进行语法高亮与行号显示,再配合 share_plus 分享文本或图片快照。
方式四 用 Git 仓库协作分享(适合团队)
- 初始化仓库并推送到 GitHub/Gitee/GitLab:
- git init
- git add . && git commit -m “Initial commit”
- gh repo create flutter-demo --public --source=. --remote=origin
- git push -u origin main
- 将 仓库 URL 发给协作者,便于 clone / PR / Issue 协作。
小贴士
- 分享前先执行 flutter pub get 确保依赖一致;若包含 native 插件,对方也需要在其平台准备对应环境。
- 若代码较长,建议分享 Gist 链接 或 仓库地址;若需快速粘贴到 IM/工单,优先用 share_plus 或 剪贴板 方案。
- 在 CentOS 上调用系统分享对话框需要桌面环境支持(如 GNOME/KDE);若在无头服务器上,请选择 Gist / Git / 静态 HTML 方式。