๐ Documentation
Complete reference for Flutter IDE โ methods, APIs, and why they matter.
โ๏ธ Core Methods
IDE.createFile(path, content)
Create a new file in the current project.
โ
Advantage: No need to manually create folders or touch files. Ideal for code generation and scaffolding.
IDE.openFile(path)
Open an existing file in the editor.
โ
Advantage: Works with any text-based file. Automatically detects syntax.
IDE.saveFile()
Save the currently opened file.
โ
Advantage: Auto-save can be enabled. Never lose your work.
IDE.run()
Run the current Dart / Flutter project.
โ
Advantage: One-click run. No terminal commands. Supports hot reload.
IDE.hotReload()
Trigger hot reload on connected device (Flutter only).
โ
Advantage: See UI changes instantly. No recompilation needed.
IDE.getProjectPath()
Returns the absolute path of the current project.
โ
Advantage: Useful for scripts and external tool integration.
๐ CT-Only Methods Requires CT Token
IDE.httpGet(url)
Perform an HTTP GET request.
โ
Advantage: Built-in HTTP client. No need to add external packages.
IDE.httpPost(url, body)
Perform an HTTP POST request with JSON body.
โ
Advantage: Automatic JSON serialization/deserialization.
IDE.runTerminalCommand(cmd)
Run a shell / bash command in the built-in terminal.
โ
Advantage: No need to switch to external terminal. Output captured inside IDE.
IDE.callGcc(sourceFile, outputFile)
Compile C/C++ code using the built-in GCC wrapper.
โ
Advantage: Cross-compile for Android/Windows/Linux from within Flutter IDE.
IDE.generateHex(data)
Convert binary data or text to a .hex file.
โ
Advantage: Useful for embedded developers. No extra tools required.
IDE.validatePath(path)
Check if a file or directory exists and has proper permissions.
โ
Advantage: Helps debug "file not found" errors in complex projects.
IDE.allowExternalPull(apiToken)
Enable external software (e.g., MT Manager) to pull zone files via HTTP API.
โ
Advantage: Seamless integration with other Android tools.
๐ฏ Why These Methods?
| Problem |
Flutter IDE Solution |
Alternative (Without IDE) |
| Creating files manually is slow |
IDE.createFile() |
Open terminal โ mkdir โ touch โ open editor |
| Hot reload requires keybindings / terminal |
IDE.hotReload() (one click) |
Switch to terminal โ press 'r' โ switch back |
| HTTP requests need external packages |
IDE.httpGet() (built-in, CT required) |
Add http package โ write async code โ handle errors |
| Calling GCC requires separate terminal setup |
IDE.callGcc() (CT required) |
Install GCC โ configure PATH โ type command manually |
| Path validation is repetitive |
IDE.validatePath() |
Write File.exists + permission checks every time |
๐ก Example: Using CT Methods
import 'package:flutter_ide_sdk/flutter_ide_sdk.dart';
void main() async {
// Download a file using built-in HTTP (CT required)
var data = await IDE.httpGet('https://api.example.com/data.json');
print('Received: ${data.length} bytes');
// Compile a C file
IDE.callGcc('src/main.c', 'output');
IDE.runTerminalCommand('./output');
// Generate hex from text
IDE.generateHex('Hello, World!');
}
๐ Summary
Flutter IDE methods are designed to remove friction:
- โ
No manual terminal commands
- โ
No extra package imports (for common tasks)
- โ
Built-in HTTP, GCC, hex generation, path validation
- โ
CT methods are optional โ only for advanced users
You write code. The IDE handles the rest.
โ ๏ธ Not an official Google product. Flutter is a trademark of Google LLC. This IDE is an independent project by ShadowMaker, not endorsed by or affiliated with Google.