vscode-haystack-search is a Visual Studio Code extension that leverages Haystack to provide advanced file search capabilities. This extension allows users to perform efficient text searches across their project files, enhancing productivity and code navigation.
Features
Seamless integration with Haystack for high-performance search.
Intuitive interface for searching text within files.
Search results include file paths and matching line content.
Usage
After installing the extension, you can initiate a search by using the command palette (Ctrl+Shift+P) and selecting "Haystack Search".
Enter your search query and view the results displayed in the search panel.
To ensure a smooth debugging experience, please follow these steps:
Open the project in Visual Studio Code.
Install the Haystack Search extension from the Marketplace and enable it.
In the terminal, run the following commands:
cd haystack-vscode
npm run watch
Press F5 to launch the extension in debug mode.
This will run the extension in an isolated environment while sharing the same background Haystack service as the installed extension.
Contribution
Contributions are welcome! Please follow these steps to contribute:
Fork the repository.
Create a new branch for your feature or bug fix.
Make your changes and commit them.
Push your branch and create a pull request.
Automated Release Process
This project uses a GitHub Action workflow for automating the release process. The workflow:
Reads version and haystackVersion from package.json
Downloads platform-specific Haystack binaries based on haystackVersion
Builds platform-specific VS Code extension packages
Extracts changelog information for the current version
Creates a GitHub release with the generated extension packages
Creates a git tag for the release version
To trigger a new release:
Update the version in package.json
Update CHANGELOG.md with details about the new version
Go to GitHub Actions tab and manually trigger the "Release" workflow
The workflow will generate platform-specific extension packages for Windows, macOS, and Linux (both x64 and ARM64 architectures).