Captain Stack — Code suggestion for VSCode
This feature is somewhat similar to Github Copilot's code suggestion. But instead of using AI, it sends your search query to Google, then retrieves StackOverflow answers and autocompletes them for you.
Have questions? Join our Discord server
Table of contents:
Note:
1. Installation
Check out the installation video: https://youtu.be/MD-kzsF0Scg
Before installation, make sure you have VSCode Insider. You'll be using this version. To install and starting Captain Stack:
- Download this repository to your local machine. Unzip and open it on VSCode Insider (make sure the root directory is the same as
package.jsonfile) - (optional) Run
npm installin the terminal to install dependencies. Apostinstallscript would download the latest version ofvscode.proposed.d.ts - Run the
Run Extensiontarget in the Debug View. Or from the top menu, chooseRun > Start Debugging.
This will:
- Start a task
npm: watchto compile the code and watch for changes - Open a new VSCode window (you should use the extension here)
Note: When you make changes, you should refresh that window to apply changes. To refresh, open Command Palette (Command+Shift+P on MacOS, or Ctrl+Shift+P on Windows), then choose "Developer: Reload window"
2. Play with Captain Stack
To trigger inline completion, you'll need to type //find {your keyword}. (start with //find, end with a dot .)
For example
//find binary search in javascript.Make sure that showInlineCompletions is enabled in your settings!
"editor.inlineSuggest.enabled": true
3. Captain Stack configurations
There are a few configurations available for Captain Stack. To open the configurationview:
- Click on the Cog icon at bottom left
- Choose Settings
- In the Search settings search box, enter "Captain Stack"
Available settings
sitesallows to enable or disable a source site. By the default, onlyStackoverflowis enabled.maxResultsis the maximum number of results. It's12by default. Note: Since Captain Stack will fetch all the results from a page, the final number of results could be more thanmaxResults
4. Notes
- There are more code sources that should be considered besides StackOverflow
- If you see
unsupportederror message, ignore it
Limits:
- The extension uses fetch-node to get page content, and I don't know if there is any fetching limit
- The extension uses querySelector to extract code and other info. There is a risk of either StackOverflow or Google changing its querySelector
If those factor became problems, the extension could be using their official APIs instead.
5. Changelog
- Aug 15, 2021 - Added
sitesandmaxResultsconfigurations - Jul 31, 2021 — Create code extracting abstracting to add more code sources
- Jul 14, 2021 - Adapted to VS Code Insiders Release Version 1.59
- Jul 01, 2021 - Added snippet source (thanks for mechero's suggestion)
- Jun 30, 2021 - Publish the initial version
6. Troubleshooting
Common reasons why you can't run Captain Stack:
- You're not using VSCode Insider. It can be downloaded here
- When
Run debugger, it shows different target options (nodejs, edge, etc.). Your VSCode root directly might be incorrect. Make sure your root directory is the same with thepackage.jsonfile. - Error message
module "node-fetch" not found.... You need to runnpm install canvas.nodewas compiled against a different Node.js. Try to remove canvas (npm uninstall canvas)
Still not running?
- You haven't enabled the inline completion feature. To enable, set VSCode config
"editor.inlineSuggest.enabled": true - It might conflict with some other plugins. You might need to disable plugins to check
If none of the above works, open a thread or join our Discord channel and have a chat.
7. Contributors
The plugins is available, thanks to:
Feel free to open a thread for feedback or discussion. And have fun!
for more information https://github.com/hieunc229/copilot-clone

Comments
Post a Comment