Idioma: English | 简体中文 | Español
Un widget de editor de codigo potente y completo, con backend en Rust
Lleva una experiencia de edicion tipo VS Code a tus apps Flutter

Edicion fluida en archivos de mas de 1M lineas, probado en un PC antiguo de bajos recursos.

Resaltado inteligente y diferido con LSP en archivos de 100k+ lineas
Demo de funciones: CodeForge Features Showcase
Note
code_forge no es compatible con Flutter web porque depende de dart:io para funciones principales. Para web, usa code_forge_web.
CodeForge es un widget de editor de codigo de nueva generacion para desarrolladores exigentes. Ya sea que construyas un IDE, un visor de snippets o una plataforma educativa, CodeForge ofrece herramientas avanzadas.
| Funcion | CodeForge | Otros |
|---|---|---|
| Resaltado de sintaxis | 180+ lenguajes | ✅ |
| Plegado de codigo | Deteccion inteligente | Limitado |
| Integracion LSP | Soporte completo | ❌ |
| Autocompletado con IA | Multi-modelo | ❌ |
| Tokens semanticos | En tiempo real | ❌ |
| Diagnosticos | Errores inline | ❌ |
| Deshacer/Rehacer | Agrupacion inteligente | Basico |
| Temas | Totalmente personalizable | Limitado |
- Usa estructura de datos rope para manejar texto grande con mejor rendimiento.
- Renderiza con
RenderBoxyParagraphBuilderen lugar deTextField. - Incluye cliente integrado de Language Server Protocol.
- Soporta autocompletado de codigo con IA.
-
Instala rustup y asegurate de que este en
PATH. -
Agrega CodeForge a
pubspec.yaml:
dependencies:
code_forge: ^10.6.0- Agrega la inicializacion en
main():
void main() async {
await RustLib.init();
runApp(const MyApp());
}- Luego ejecuta:
flutter pub getimport 'package:flutter/material.dart';
import 'package:code_forge/code_forge.dart';
import 'package:re_highlight/languages/python.dart';
import 'package:re_highlight/styles/atom-one-dark.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: CodeForge(
language: langPython,
editorTheme: atomOneDarkTheme,
),
),
);
}
}class _EditorState extends State<Editor> {
final _controller = CodeForgeController();
final _undoController = UndoRedoController();
@override
Widget build(BuildContext context) {
return CodeForge(
controller: _controller,
undoController: _undoController,
);
}
}Para detalles avanzados (configuracion LSP, acciones de codigo, renombrado, selector de color y mas), consulta la documentacion en ingles: README.md