Skip to content
| Marketplace
Sign in
Visual Studio Code>Education>Galaxia educationNew to Visual Studio Code? Get it now.
Galaxia education

Galaxia education

Galaxia

|
2 installs
| (0) | Free
VS Code extension for AI-generated task workflow with submission management
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Galaxia VS Code Extension

VS Code extension for AI-generated task workflow: receive tasks from the backend, seed them into an approved folder, select files to submit, optionally add commentary, and upload submissions back to the service.

Features

  • Sign in with Device Code flow or Personal Access Token (PAT)
  • Seed tasks into a user-approved workspace folder with safe path guards
  • Submission Picker view: select files, add commentary, preview, and upload
  • Quick flow to submit currently open tabs
  • Size and type restrictions with configurable allowed globs
  • Resilient uploads with progress feedback

Requirements

  • VS Code 1.74+
  • Node 18+
  • Backend running (default: http://localhost:8000)

Quick Start

  1. Install and open the extension workspace.
  2. Configure the backend URL (optional):
    • VS Code Settings → search for "Galaxia" → set Galaxia › Backend Url, or add to settings.json:
    {
      "galaxia.backendUrl": "http://localhost:8000",
      "galaxia.allowedGlobs": ["**/*.py", "**/*.ts", "**/*.md"],
      "galaxia.includeDirtyTabs": false
    }
    
  3. Sign in:
    • Command Palette → "Galaxia: Sign In (Device Code)". Follow the prompt: your browser opens the verification URL; enter the shown user code. The extension will poll until authorized.
    • Alternatively: "Galaxia: Sign In with Token" and paste your PAT.
  4. Seed a task:
    • Command Palette → "Galaxia: Seed Task".
    • Select or approve your target folder. Review the dry‑run preview, then confirm to write files atomically.
  5. Prepare a submission:
    • Open the Explorer view → "Galaxia Submissions" tree appears when signed in.
    • Select files inside the approved folder. Use:
      • "Galaxia: Add Commentary" to attach optional notes
      • "Galaxia: Preview Submission" to review manifest
    • Upload:
      • "Galaxia: Upload Submission" to upload the selection, or
      • "Galaxia: Submit Open Tabs" to quickly submit currently open editors
  6. Verify results: watch status notifications. On success, the server returns a submission id.

Commands

  • Galaxia: Sign In (Device Code) — galaxia.signInDeviceCode
  • Galaxia: Sign In with Token — galaxia.signInWithToken
  • Galaxia: Sign Out — galaxia.signOut
  • Galaxia: Seed Task — galaxia.seedTask
  • Galaxia: Open Submission Picker — galaxia.openSubmissionPicker
  • Galaxia: Add Commentary — galaxia.setSubmissionCommentary
  • Galaxia: Preview Submission — galaxia.previewSubmission
  • Galaxia: Upload Submission — galaxia.uploadSubmission
  • Galaxia: Submit Open Tabs — galaxia.uploadOpenTabs
  • Galaxia: Clear Selection — galaxia.clearSelection

Configuration

  • galaxia.backendUrl (string, default http://localhost:8000): API base URL
  • galaxia.maxUploadSizeMB (number, default 100): maximum upload size
  • galaxia.allowedGlobs (string[], default code files & docs): allowed file patterns
  • galaxia.includeDirtyTabs (boolean, default false): include unsaved editors in "Submit Open Tabs"
  • galaxia.authMethod ("deviceCode" | "token", default deviceCode)
  • galaxia.deviceCodePollIntervalSec (number, default 5)
  • galaxia.clientId (string, default galaxia-vscode)
  • galaxia.packThresholdFiles (number, default 100)
  • galaxia.packThresholdMB (number, default 20)

Troubleshooting

  • Not signed in / actions disabled:
    • Check status bar. Run "Galaxia: Sign In (Device Code)" or "Sign In with Token" again.
  • Device code expired:
    • Re-run "Sign In (Device Code)". Ensure the verification page opens and the user code matches.
  • 401 Unauthorized on upload:
    • Token may be expired or invalid. Sign in again. Verify galaxia.backendUrl points to the correct server.
  • Cannot write files / path not allowed:
    • Ensure you selected and approved the target folder when seeding. The extension denies writes outside this root.
  • Some files missing in picker:
    • Update galaxia.allowedGlobs to include your patterns. Symlinks are not followed for safety.
  • Upload too large:
    • Reduce selection or raise galaxia.maxUploadSizeMB. Consider excluding large binaries.
  • Open tabs not included:
    • Enable galaxia.includeDirtyTabs or save editors before running "Submit Open Tabs".
  • Network errors or timeouts:
    • Check backend availability and logs. The client retries with backoff.

Security Notes

  • Tokens are stored in VS Code SecretStorage.
  • Paths are normalized and constrained to the approved folder to prevent traversal.
  • Sensitive values are masked in logs.

Development

  • Build: npm run compile
  • Watch: npm run esbuild-watch
  • Tests: npm test
  • Lint: npm run lint

Contributions welcome. Please ensure changes follow the extension architecture and include tests where appropriate.

Release Operations

Prerequisites

Before publishing to the VS Code Marketplace:

  1. VS Code Extension Packaging Tool (vsce)

    npm install -g @vscode/vsce
    
  2. License file — Create a LICENSE file in the extension directory (MIT License recommended)

  3. Repository URL — Update package.json with your repository:

    {
      "repository": {
        "type": "git",
        "url": "https://github.com/YOUR_ORG/galaxia"
      }
    }
    

Step 1: Generate Personal Access Token (PAT)

To publish to VS Code Marketplace, you need a Personal Access Token:

  1. Visit Azure DevOps:

    • Go to: https://dev.azure.com/
    • Sign in with your Microsoft account
  2. Navigate to Personal Access Tokens:

    • Click your profile icon (top right)
    • Select "Personal access tokens"
  3. Create a new token:

    • Click "New Token"
    • Name: vscode-marketplace (or similar identifier)
    • Organization: Select your organization
    • Expiration: Set as needed (e.g., 1 year, custom)
    • Scopes: Select "Full" (or navigate to find "Marketplace > Manage" if visible)
    • Click "Create"
  4. Copy the token immediately — You won't be able to view it again. Save it securely (do not commit to Git).

Step 2: Build the Extension

Prepare the extension for packaging:

# Install dependencies
npm install

# Compile and minify for production
npm run vscode:prepublish

This creates an optimized dist/extension.js bundle.

Step 3: Package as .vsix

Create a distributable package:

# Package the extension
vsce package

# Optional: Package for specific platform
vsce package --target win32-x64              # Windows x64
vsce package --target linux-x64              # Linux x64
vsce package --target darwin-x64             # macOS Intel
vsce package --target darwin-arm64           # macOS Apple Silicon

This generates a .vsix file (e.g., galaxia-0.1.0.vsix) in the current directory.

Step 4: Login to Marketplace

Authenticate with your publisher account:

vsce login galaxia
# When prompted: "Personal Access Token for publisher 'galaxia':"
# Paste your PAT from Step 1
# Expected output: "Logged in as 'galaxia'"

Step 5: Publish to Marketplace

Once authenticated, publish the extension:

# Publish with current version
vsce publish

# Or publish with automatic version bump
vsce publish patch   # 0.1.0 → 0.1.1
vsce publish minor   # 0.1.0 → 0.2.0
vsce publish major   # 0.1.0 → 1.0.0

Note: Microsoft runs a virus scan on each new/updated extension. The extension won't be publicly visible until the scan completes (typically within hours).

Installation for Users

Once published, users can install the extension via:

VS Code Marketplace (Recommended):

  • Open VS Code
  • Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  • Search for "Galaxia"
  • Click "Install"

Manual Installation:

  • Download the .vsix file
  • In VS Code: Extensions → "Install from VSIX"
  • Select the downloaded file

Command Line:

code --install-extension galaxia-0.1.0.vsix

Maintenance & Updates

Update the extension:

  1. Make code changes
  2. Update package.json version (e.g., "version": "0.2.0")
  3. Run npm run vscode:prepublish
  4. Run vsce publish to publish the update

Unpublish (if needed):

# Unpublish a specific version
vsce unpublish galaxia@0.1.0

# Note: Only free extensions can be unpublished; extensions with installs cannot be removed

Troubleshooting

Issue Solution
License warning Create a LICENSE file in the extension root directory
Repository warning Add "repository" field to package.json
Login fails Verify your PAT hasn't expired; create a new one and retry
Publish fails Ensure version in package.json is unique; increment if republishing
Extension not appearing Wait for Microsoft's virus scan to complete; check Marketplace after ~1 hour
Token issues Visit https://dev.azure.com/ → Personal access tokens and regenerate if needed

Contributions welcome. Please ensure changes follow the extension architecture and include tests where appropriate.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft