Hound search, clone, launch.
Provides a Hound search client that on selection:
- checks for matching local repos in a configurable set of root project directories
- prompts to clone repos that do not exist locally
- launches search results in the program of your choice
- Hound: Search: Launch the searcher
- Hound: Refresh Local Projects: Rescan the set of local repo roots
Search for 'Hound Search' in the Visual Studio Code's extension manager
-
Local installation of git
-
Hound config with keys in the
"repos"following anamespace/repostructuree.g.
{ ... "repos": { "szinsli/vscode-hound": { "url": "git@bitbucket.org:szinsli/vscode-hound.git" }, "otherNamespace/otherRepo": { "url": ... } } }
This extension contributes the following settings:
-
hound.url: API endpoint for your hound installation e.g.http://localhost:6080 -
hound.repoPattern: pattern to use to create a repo URL for a given namespace and repo name.-
namespace: the owner namespace of the repo -
repo: the name of the repo itselfe.g.
git@github.com:${namespace}/${repo}.git
-
-
hound.localRepoRoots: array of directories for this extension to search for repos non-recursivelye.g.
["~/projects"] -
hound.launchers: array of launcher configs containing:-
launch: command to launch when a search result is selected.Takes the following substitutions (using the
${substitution}syntax):folder: the local repo directory pathfileName: the relative filepath of the match within the repolineNumber: line number of the match
-
matchers: an array of rule objects. Any single match will enable the launcher.Can contain one of the following:
containsFile: the launcher will match if the repo contains a file with this name (e.g.{"containsFile": "index.html"})nameMatchesRegex: the launcher will match if the supplied regex matches the repo name (e.g.{"nameMatchesReges": "some.*thing"})hasExtension: the launcher will match if the selected file has the supplied extension (e.g.{"hasExtension": "java"})
-
example:
"hound.launchers": [ { "launch": "code ${folder} -g '${folder}/${fileName}:${lineNumber}'", "matchers": [ { "containsFile": "package.json": }, { "hasExtension": "ts" } ] }, { ... } ]
-
Initial release
