Using Code Server with Apple Vision Pro for Development
This article explores how Code Server can be used to overcome the limitations of the Apple Vision Pro for software development, specifically the lack of a native VS Code environment and direct file system access. By running Code Server on a remote machine, users can access VS Code through a web browser on the Vision Pro, enabling a more complete development workflow.
Overcoming Apple Vision Pro Development Limitations
The Apple Vision Pro, while innovative, presents some challenges for developers. The primary issue is the absence of a native VS Code application and limited access to the file system, which are crucial for many development workflows. Code Server provides a solution by allowing users to access a fully functional VS Code instance through a web browser.
Code Server: VS Code in the Browser
Code Server is a tool that allows you to run a copy of VS Code on a remote, Unix-based machine and access it through a web browser from any device. This is particularly useful for the Apple Vision Pro, as it provides access to a complete development environment without requiring native support.
Viable Development Strategy
By accessing VS Code through a web browser on the Vision Pro, users gain access to:
-
The file system of the remote machine
-
A terminal for executing commands
-
A fully featured code editor
This combination effectively transforms the Apple Vision Pro into a viable development environment.
Practical Implementation and Demonstrations
The presenter demonstrates using the Apple Vision Pro with Code Server for real-world development tasks. This includes:
-
Using multiple Safari windows for code, GitHub, and research.
-
Editing files that are saved directly on the remote server, not the Apple Vision Pro.
-
Closing an issue on an LLM project.
Example: Improving Logging in an LLM Project
The presenter showcases a practical example by improving the logging in an LLM (Large Language Model) project. This involves:
-
Refactoring debug lines to improve clarity.
-
Adding logging to a module that was previously missing it.
-
Verifying that a commit successfully closed the relevant issue on GitHub.
The presenter also mentions the annoyance of the virtual keyboard constantly appearing, even with a hardware keyboard connected, anticipating a fix from Apple in a future update.
Code Server Installation and Configuration
Installing Code Server is straightforward, thanks to the provided installation script. 1. Copy the Installation Command: Copy the installation command from the Code Server GitHub page. 2. Paste in Terminal: Paste the command into the terminal of your Unix-based machine. 3. Enter Password: Enter your administrative password when prompted.
The script automatically handles the installation process, configuring Code Server based on the operating system.
Configuration Steps
After installation, Code Server can be easily configured:
1. Start Code Server: Use the provided command to start Code Server and configure it to restart on boot.
2. Edit the Configuration File: Modify the config.yaml
file located in .config/code-server/
to customize settings.
3. Access from Outside the Machine: Change the binding address to allow access from other devices and change the default port if desired.
4. Restart Code Server: Restart Code Server using sudo systemctl restart code-server
to apply the changes.
Accessing Code Server in the Browser
Once configured, Code Server can be accessed by navigating to the server's IP address and port number in a web browser. The initial login requires a password, which can be found in the config.yaml
file.
Code Server Features and Quirks
Code Server provides a VS Code-like experience within a web browser, complete with access to the marketplace for extensions and plugins. This allows developers to customize their environment to suit their specific needs. The presenter also mentions that it is technically VS Codium, not VS Code.
Key Features
-
Access to extensions
-
Familiar file management system
-
Ability to upload files
Known Quirks
-
HTTPS Requirement for Some Extensions: Some extensions, such as the AWS Toolkit for CodeWhisperer, require an HTTPS connection with an SSL certificate to function correctly.
-
Session Isolation: CodeWhisperer connections are not shared between different browser clients or machines.
-
Apple Vision Pro Keyboard Issues: The virtual keyboard may appear unexpectedly, even when a hardware keyboard is connected.
Conclusion
Code Server provides a valuable solution for developers seeking to use the Apple Vision Pro as a primary development environment. While there are some quirks, the ability to access a full-fledged VS Code instance and the file system through a web browser significantly enhances the Vision Pro's capabilities for software development. Despite the limited precision and potential keybind conflicts, the tool is considered to have potential.