AirCodum: Smartphone powered Remote Control for VS Code
Table of Contents
- Introduction
- Installation
- Configuration
- Getting Started
- Features
- Using AirCodum
- Command Reference
- Security Considerations
- Troubleshooting
- Contributing
Introduction
AirCodum is your intelligent smartphone companion for Visual Studio Code! AirCodum bridges the gap between your devices and your development environment, offering seamless file transfer, AI-powered coding assistance, and intuitive commanding over your VS Code instance, right from your smartphone!
Installation
VS Code Extension
- Open Visual Studio Code
- Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X)
- Search for "AirCodum"
- Click "Install"
- Reload VS Code when prompted
Android App
Download the "AirCodum" app from the Android Play Store from Google Play Store link
Demo
Check out this demo to understand how to use AirCodum: AirCodum YouTube Demo
Configuration
Setting up the OpenAI API Key
- Obtain an API key from OpenAI (https://openai.com/)
- In VS Code, open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
- Type "AirCodum: Open Webview" and select it
- In the AirCodum interface, enter your API key in the "OpenAI API Key" field
- Click "Save Key"
Customizing the Port (Optional)
- Go to File > Preferences > Settings (Ctrl+, or Cmd+,)
- Search for "AirCodum"
- Find the "Port" setting and change it to your desired port number
- The default port is 5000
Getting Started
- Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
- Type "AirCodum: Start AirCodum Server" and select it
- AirCodum will display an IP address and port
- Use any WebSocket client on your other devices to connect to this address
Features
- Seamless File Transfer: Send files from your phone or tablet directly to VS Code
- AI-Powered Chat: Get coding help, explanations, and suggestions
- Image Analysis: Send images from your smartphone to the VS Code instance and use AI for text extraction or analysis
- Smart Commands: Control VS Code using natural language. 800+ commands supported.
- Screen Capture: Take screenshots of your development environment and get them sent to your AirCodum app.
Using AirCodum
Opening the AirCodum Interface
- Open the Command Palette
- Type "AirCodum: Open AirCodum Webview" and select it
Transferring Files
- Connect to the AirCodum server from your device
- Send any file through the WebSocket connection
- The file will appear in your VS Code workspace under the "AirCodum" folder
Using AI Chat
- In the AirCodum interface, find the "Chat with AI" section
- Type your question or request related to the recently sent files.
- Click "Send" or press Enter
- View the AI's response in the interface
Using Smart Commands
Type commands in the chat input to control VS Code. For example:
type Hello, World!
: Types the text in your editor
go to line 42
: Moves the cursor to line 42
search TODO
: Searches for "TODO" in the current file
- 800+ commands supported (list available at aircodum.app ).
- Request new commands by raising an Issue right here.
Capturing Screenshots
- Type "get screenshot" in the chat input
- AirCodum will capture and display your current screen
- You can then ask the AI to analyze the screenshot
Working with Images
- Upload an image file using the file transfer method
- AirCodum will automatically transcribe any text found in the image
- The transcribed text will appear in the "Transcription" section of the interface
- You can copy the transcription to the clipboard or add it to the current file
Command Reference
Extension Commands:
AirCodum: Start AirCodum Server
: Starts the AirCodum server
AirCodum: Stop AirCodum Server
: Stops the AirCodum server
AirCodum: Open AirCodum Webview
: Opens the AirCodum interface
Chat-based Commands:
type [text]
: Types the specified text
type [text] and enter
: Types the text and presses Enter
keytap [key]
: Simulates pressing a key (e.g., enter, tab, escape)
go to line [number]
: Moves to a specific line
open file [filename]
: Opens a file
search [text]
: Searches in the current file
replace [old] with [new]
: Replaces text
get screenshot
: Captures a screenshot
VS Code Commands (examples):
Toggle Zen Mode
: Enters or exits Zen Mode
Format Document
: Formats the current document
Toggle Line Comment
: Comments or uncomments the selected lines
Rename Symbol
: Initiates renaming of a symbol
Go to Definition
: Navigates to the definition of a symbol
Find All References
: Finds all references of a symbol
Security Considerations
- The AirCodum server operates on your local network. Use caution when using it on public networks.
- Ideally avoid using this system over untrusted public networks (say Airport WiFi)
- Your OpenAI API key is stored locally. Never share this key or commit it to version control.
- Be mindful when executing commands from external devices, as they have control over your VS Code instance.
- Regularly update AirCodum and VS Code to ensure you have the latest security patches.
- Review files received through AirCodum before opening or executing them.
- Note: The system doesn't yet support WSS (WebSockets over HTTPS).
Troubleshooting
- Can't start the server: Make sure no other application is using the same port. Try changing the port in settings.
- Can't connect from other devices: Ensure all devices are on the same network. Check if any firewall is blocking the connection.
- AI features not working: Verify that you've entered a valid OpenAI API key in the settings.
- File transfer issues: Check if your WebSocket client is correctly configured to connect to the AirCodum server address.
- Extension not loading: Try uninstalling and reinstalling the extension. Ensure your VS Code is up to date.
If you encounter persistent issues, please check our GitHub repository for known issues or to report a new one.
Contributing
We welcome contributions to AirCodum Documentation! Here's how you can help:
- Fork this repository on GitHub
- Create a new branch for your changes
- Commit your changes with clear, descriptive messages
- Push the branch and open a pull request
- Maintainers will test the .vsix package created from your branch and merge your PR.
Ideas for Contributions
Following is not an exhaustive list:
- Unit test infrastructure.
- GitHub actions support for CI/CD.
- Add more commands and help clean up existing ones.
Support
- Please raise issues on the associated GitHub repo for triaging.
- For urgent requests, you may email the developer at priyankar.kumar98@gmail.com
Note:
This project was earlier called "CodeAir" and is now being renamed to "AirCodum" in response to other entities owning/in-the-process-of-owning the TradeMark.
Thank you for using AirCodum - happy coding!