webview_flutter_web
Um plugin do Flutter que fornece um widget WebView no web.
Um IDE construído em Flutter, para Flutter
Um plugin do Flutter que fornece um widget WebView no web.
v4.0.0xterm.dart é um emulador de terminal rápido e totalmente funcional para aplicativos Flutter, com suporte para plataformas móveis e desktop.
Utilitários para escrever um cliente ou servidor usando o especificação JSON-RPC 2.0.
Um cliente de API para o Pub interagir com informações públicas de pacotes.
v1.5.0Integre o editor Monaco (editor do VS Code) em aplicativos Flutter. Recursos para mais de 100 idiomas, realce de sintaxe, temas e API completa.
{"sdk":"flutter"}^1.0.8^1.1.1^10.3.7^1.9.1^2.1.5^4.10.0^0.2.3^4.0.0^4.0.0^0.4.0^2.5.0^1.2.0^2.2.3^1.17.0^10.12.0{"sdk":"flutter"}^6.0.0Texto original em inglês. Visite o GitHub para a versão atual.
A lightweight, cross-platform code editor built with Flutter. Features a VS Code-inspired interface with Monaco Editor integration, file tree navigation, multi-tab editing, integrated terminal, and pub.dev package search.
flutter_monaco for a rich code editing experience with syntax highlightingCmd+P to quickly search and open filesflutter pub addflutter run, flutter pub get, and other commandsrunTerminalCommand()Main IDE interface showing file explorer, code editor with main.dart open, and integrated terminal
Pub.dev package search sidebar showing popular Flutter packages
Package details view for flutter_svg with installation options and metadata
Embedded pub.dev documentation view for flutter_svg package
The editor features:
Clone the repository:
git clone <repository-url>
cd flutter_ide
Navigate to the demo project:
cd flutter_ide_demo
Install dependencies:
flutter pub get
Run the application:
# For desktop (recommended)
flutter run -d macos # or windows, linux
# For mobile
flutter run -d <device-id>
flutter_ide_demo/
├── lib/
│ ├── main.dart # App entry point
│ ├── editor_screen.dart # Main editor UI with Monaco integration
│ ├── file_tree.dart # File explorer tree widget
│ ├── flutter_sidebar.dart # Flutter project structure sidebar
│ ├── pubdev_sidebar.dart # Pub.dev package search sidebar
│ ├── output_panel.dart # Integrated terminal panel
│ ├── models/
│ │ └── file_system_entity.dart # File/Directory node models
│ └── services/
│ ├── file_service.dart # Platform-aware service factory
│ ├── file_service_interface.dart # Abstract file service
│ ├── file_service_io.dart # Native platform implementation
│ └── file_service_web.dart # Web platform implementation
├── pubspec.yaml
└── test/
The app uses a platform-aware file service pattern:
FileService (interface) - Defines operations: pickDirectory, readFile, createFile, createDirectory, saveFile, deleteFile, deleteDirectory, renameFileServiceIO - Implementation for native platforms (macOS, Windows, Linux, iOS, Android)FileServiceWeb - Implementation for web browsers using File System Access APIRun terminal commands from anywhere in the app:
import 'editor_screen.dart';
// Execute any command
runTerminalCommand('flutter run');
runTerminalCommand('flutter pub get');
runTerminalCommand('dart analyze');
FileNode - Abstract base class for file system entitiesFileNodeDirectory - Represents a folder with childrenFileNodeFile - Represents a file with optional cached contentWebTab - Represents a WebView tab with title and URL| Package | Version | Purpose |
|---|---|---|
flutter_monaco |
^1.1.1 | Monaco Editor integration |
file_picker |
^10.3.7 | Native file/folder selection |
path |
^1.9.1 | Path manipulation utilities |
path_provider |
^2.1.5 | Platform-specific directories |
webview_flutter |
^4.10.0 | WebView for embedded browser |
xterm |
^4.0.0 | Terminal emulator UI |
flutter_pty |
^0.4.0 | PTY for terminal functionality |
pub_api_client |
^2.5.0 | Pub.dev API client |
http |
^1.2.0 | HTTP client |
Cmd+P to search for files by nameflutter run| Shortcut | Action |
|---|---|
| Cmd/Ctrl + P | Quick file search |
| Cmd/Ctrl + O | Open folder |
| Cmd/Ctrl + N | New file |
| Cmd/Ctrl + Click | Go to definition (placeholder) |
flutter runrunTerminalCommand() APIContributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.