webview_flutter_web
一个在 Web 上提供 WebView 小部件的 Flutter 插件。
一个用 Flutter 构建的 IDE,用于 Flutter
一个在 Web 上提供 WebView 小部件的 Flutter 插件。
v4.0.0xterm.dart 是一个适用于 Flutter 应用程序的快速且功能齐全的终端模拟器,支持移动和桌面平台。
用于使用 JSON-RPC 2.0 规范编写客户端或服务器的工具。
一个用于 Pub 的 API 客户端,用于与公共包信息进行交互。
v1.5.0在Flutter应用中集成Monaco编辑器(VS Code的编辑器)。支持100多种语言、语法高亮、主题和完整API。
{"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.0以下为英文项目原文快照,最新内容请访问 GitHub。
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.