A fast full-text searching tools based on Lucene.Net
- Support multiple indexes
- Auto monitoring indexed files changes
- Support various search (etc: fuzzy, wildcard, case-sensitive) on file content, name, location, extension
- Support Docker
- Support Visual Studio
https://coderindex.azurewebsites.net/
Go to CodeIndex.Server => appsettings.json
LuceneIndex => To your local empty folder, this folder will be going to store the index files and configuration files.
ManagerUsers => Config the users name, id, password that can management the indexes.
"CodeIndex": {
"LuceneIndex": "D:\\TestFolder\\Index",
"IsInLinux": "false",
"MaximumResults": 10000,
"ManagerUsers": [
{
"Id": 1,
"UserName": "Admin",
"Password": "CodeIndex"
}
]
}
Set CodeIndex.Server as the start up project, compile the project
Run it via visual studio or bash
dotnet CodeIndex.Server.dll --urls "http://:5000;https://:5001"
In this page, you can add/remove/delete and config the index folder you want to monitoring and searching.
It will return the matched infos with highlight in the whole file
It will return the matched infos with highlight and matched line number
Support docker container, Docker hub
docker pull qiuhaotc/codeindex
docker run -d --name codeindex -p 8080:8080 -v "Your index folder":/luceneindex -v "Your code folder":/monitorfolder -v "Your logs folder":/app/Logs -e CodeIndex__MonitorFolderRealPath="Your real folder path" -e CodeIndex__ManagerUsers__0__UserName="Your Management User Name" -e CodeIndex__ManagerUsers__0__Password="Your Management Password" --restart=always qiuhaotc/codeindex
docker pull qiuhaotc/codeindex
docker run -d --name codeindex -p 8080:8080 -v /home/user/luceneindex:/luceneindex -v /home/user/codefolder:/monitorfolder -v /home/user/logs:/app/Logs -e CodeIndex__MonitorFolderRealPath="/home/user/codefolder" -e CodeIndex__ManagerUsers__0__UserName="Test" -e CodeIndex__ManagerUsers__0__Password="Dummy" --restart=always qiuhaotc/codeindex
Notice: in the docker container, when add the index config, the monitor folder should replace the actual path to start with "/monitorfolder", like the actually path is "/home/user/codefolder/mysourceA", the monitor folder should be "/monitorfolder/mysourceA"
Current icon used in listing:
Status | Badge |
---|---|
VS Marketplace Version | |
VS Marketplace Downloads | |
VS Marketplace Installs | |
VS Marketplace Rating |
Latest improvements to the Visual Studio extension
- Dual Server Modes
- Seamlessly switch between Local and Remote server modes with persistent settings.
- Automatic health probe on settings window open (local mode) + manual Check button.
- Resilient Local Server Lifecycle
- Single-instance control (global mutex + per-process lock files + PID file).
- Auto restart if external termination detected (mutex loss recovery).
- Deferred index loading until server health passes.
- Download / Update Workflow
- One-click Download / Update (latest tag scraped from Releases page).
- Streamed download with real-time percentage progress.
- Temp ZIP cleanup after successful extraction; validates core binary presence.
- Smart Default Paths
- Auto install path:
%LOCALAPPDATA%/CodeIndex.VisualStudioExtension/CodeIndex.Server
when empty. - Auto data path:
%LOCALAPPDATA%/CodeIndex.VisualStudioExtension/CodeIndex.Server.Data
when first selecting install path and data path empty.
- Auto install path:
- Modern Folder Picker
- Replaced WinForms dialog with Vista IFileOpenDialog (better UX); removed System.Windows.Forms dependency.
- Theme-Aware UI
- Buttons/styles now use Visual Studio dynamic theme brushes (light/dark/HC) instead of hardcoded colors.
- Quick Navigation Buttons
- Open buttons beside Local & Remote URLs (auto prepend http:// when missing).
- Responsive Async Commands
- Instant button enable/disable; removed unsafe async void patterns.
- Embedded Log Viewer
- Displays latest 100 log lines with refresh.
- Packaging & Manifest Reliability
- Pre-build sync of
source.extension.vsixmanifest
prevents stale version drift. - Architecture targeting + ProductArchitecture resolves VSSDK1311 warning.
- Pre-build sync of
- Settings & Migration
- JSON settings, legacy URL migration, normalized trailing slashes.
- Additional Hardening
- Clear health states (Started / Stopped / Error / Unknown) drive UI state.
- Improved error messages for download / extraction / URL opening.
- Open the code index search window under: view => other window => code index search
- Config the service url to your own service
- Doing the search
When Phase Query been ticked, we can search the content via the query like: str*ng abc, it will give the result such as "string abc", "strdummyng abc" as the search results, the results like "abc string" or "stng abc" won't return.
In Phase Query mode, currently only support wildcard matching for word like stri*, organi*tion
When Phase Quuery not been ticked, you can follow the sytax under http://www.lucenetutorial.com/lucene-query-syntax.html to doing the search
When Case-Sensitive been ticked, we can search the content in case-sensitive mode. When search the content like String, it won't return the content that contains string
& "C:\Program Files\Microsoft Visual Studio\18\Insiders\MSBuild\Current\Bin\MSBuild.exe" src\CodeIndex.VisualStudioExtension\CodeIndex.VisualStudioExtension.csproj /t:Build /p:Configuration=Debug /nologo
Status | Value |
---|---|
Stars | |
Forks | |
License | |
Issues | |
Docker Pulls | |
Release Downloads |