Skip to content

Conversation

@0xGeorgii
Copy link
Contributor

Closes #116

- Added activation events for workspace containing .inf files.
- Introduced new commands for toolchain management: install, update, select version, run doctor, and show output.
- Implemented configuration settings for custom infs binary path, auto-install prompt, release channel, and update checks.
- Enhanced activation logic to check for toolchain availability and version compliance.
- Created utility functions for platform detection, binary detection, and execution of commands.
- Added tests for detection helpers, exec utility, platform detection, and semantic version comparison.
- Added `registerInstallCommand` to handle the installation of the inference toolchain in VS Code.
- Introduced `installToolchain` function to manage the installation process, including downloading, extracting, and verifying the toolchain.
- Created utility functions for downloading files and extracting archives, supporting `.tar.gz` and `.zip` formats.
- Implemented progress reporting during installation and error handling for various stages.
- Added tests for download and extraction functionalities to ensure reliability.
- Updated the manifest handling to support fetching the latest release based on platform and channel.
- Implemented the `inference.runDoctor` command to check the toolchain status.
- Created a status bar item to display the health of the inference toolchain.
- Updated the status bar based on the results from the doctor command.
- Added utility functions for parsing doctor output and managing status bar updates.

feat: add version selection and update commands

- Introduced `inference.selectVersion` command to allow users to choose toolchain versions.
- Implemented `inference.updateToolchain` command to check for and install updates.
- Enhanced version management with functions to fetch available versions and handle installations.

fix: improve semver comparison

- Updated semver comparison logic to correctly handle pre-release tags.

test: add unit tests for doctor and version functionalities

- Created tests for the doctor command output parsing.
- Added tests for version fetching and parsing to ensure correct functionality.

chore: refactor toolchain and UI modules

- Organized toolchain-related functions into separate files for better maintainability.
- Refactored UI components for status bar management.
…hain detection context

- Introduced a new walkthrough in package.json to guide users through setting up the Inference toolchain, including installation, verification, project creation, and building programs.
- Updated extension.ts to set context for toolchain installation status, improving user feedback on toolchain detection and installation status.
- Added tests for stable and pre-release version preference in installation.
- Improved platform detection tests for Windows, Linux, and macOS.
- Enhanced semver comparison to handle pre-release versions and identifiers.
- Updated version parsing to handle build metadata and edge cases.
- Implemented robust error handling for toolchain installation and version fetching.
- Introduced a manual QA guide for the Inference VS Code extension.
- Added a new command for performing version changes with progress notifications.
- Improved download and extraction utilities to handle edge cases and timeouts.
- Removed the `inference.channel` setting from package.json and related code.
- Updated the update checking logic to no longer respect the channel setting.
- Adjusted tests to reflect the removal of channel-based logic.
- Added new tests for grammar and language configuration.
- Introduced unit tests for manifest parsing, settings schema validation, status bar state determination, update logic, version parsing, and version picker functionality.
- Implemented doctor format for displaying check results.
- Added functionality to resolve the INFERENCE_HOME directory.
- Developed update check logic to determine available updates based on current version.
- Created version picker logic to build QuickPick items from available versions.
- Enhanced UI with a configuration tree to display toolchain and settings information.
- Implemented status bar state management based on toolchain health.
@0xGeorgii 0xGeorgii self-assigned this Feb 2, 2026
@0xGeorgii 0xGeorgii added the vscode VSCode extension label Feb 2, 2026
@codecov
Copy link

codecov bot commented Feb 2, 2026

Codecov Report

❌ Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
apps/infs/src/commands/doctor.rs 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@0xGeorgii 0xGeorgii requested a review from Copilot February 3, 2026 03:46
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR integrates the infs CLI toolchain manager into the VS Code extension, transforming it from a syntax-only extension to a full-featured development environment. The implementation adds one-button toolchain installation, version management, health diagnostics, and automatic terminal PATH integration.

Changes:

  • Added toolchain detection, installation, and version management commands
  • Integrated Configuration sidebar view with toolchain status and settings
  • Implemented automatic terminal PATH integration for seamless CLI access
  • Added comprehensive test suite covering platform detection, version parsing, download/extraction, and error handling

Reviewed changes

Copilot reviewed 51 out of 53 changed files in this pull request and generated no comments.

Show a summary per file
File Description
editors/vscode/package.json Bumped version to 0.0.3, added commands, views, walkthroughs, and test dependencies
editors/vscode/src/extension.ts Implemented activation logic with toolchain detection, version checking, and command registration
editors/vscode/src/commands/*.ts Added install, doctor, update, selectVersion, and versionChange commands
editors/vscode/src/toolchain/*.ts Implemented detection, installation, platform support, manifest parsing, and doctor diagnostics
editors/vscode/src/ui/*.ts Created status bar and configuration tree view components
editors/vscode/src/utils/*.ts Added download, extract, exec, and semver utilities
editors/vscode/src/config/settings.ts Implemented settings reader for extension configuration
editors/vscode/test/*.test.ts Added grammar and language-config tests
editors/vscode/src/test/*.test.ts Added comprehensive unit and integration tests
editors/vscode/README.md Updated documentation with toolchain management features
editors/vscode/QA_GUIDE.md Added manual QA guide with 11 test sections
apps/infs/src/toolchain/manifest.rs Removed caching logic to simplify manifest fetching
apps/infs/src/commands/doctor.rs Updated doctor command to exit with error code on failures

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@0xGeorgii 0xGeorgii marked this pull request as ready for review February 3, 2026 03:51
@0xGeorgii 0xGeorgii merged commit a0c36b1 into main Feb 3, 2026
4 of 5 checks passed
@0xGeorgii 0xGeorgii deleted the 116-integrate-infs-to-vscode-extension branch February 3, 2026 04:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vscode VSCode extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Integrate infs to vscode-inference

2 participants