Home CSS Editor Reports Office Code Gallery Download Order Contacts

Code Finder

CodeFinder is a simple code search utility. It is based on full text search engine so can easily lookup thousands of files in less than one second. In addition to the usual full-text search capabilities, it contains special features for effective searching in Delphi/C++/C#/Java/JS source code. It is entirely written in Delphi and based on HTML Office Library and HTML Component Library. It works from any browser (server is installed locally as a windows service) and doesn't require internet connection.

Searching

To start searching simply type a query in the search bar, after a short delay search will start automatically.

Autocompletion list shows words that are starting with a current words and number of files for each word.

Document Types

Document types are located just below the search bar. Green bars shows a number of found documents of each type.
To exclude a certain document type from the search results, click on it. When search query is empty, bars show the proportions of document types in the index.
Type list is adaptive, it depends on what types are present in the index and how many files was selected by a current query. Some types may collapse, f.e. Word/Excel/Powerpoint can collapse to a single Office label and Pascal/Java/C++, etc. can collapse to Code.

Search period limitation

Move the pointer over All Time under document types. A pop-up window will display a graph of the distribution of found documents by year.
Click on a year or a period to select documents for that period only.

Search in specific folders

Move the pointer over All folders and select the ones you want. Clicking on a folder name selects only that folder, for multiple selection, use the checkboxes to the left of the name.
The green bars show the number of documents found in each folder.

Search in specific fields

The search area can be limited to certain fields of the document, for example, to find only files which name contains fmx, enter file:!fmx: Available prefixes:

Prefixes to search in source code

Using def:, def:.: and derived: prefixes you can find where symbol is declared, find class/record with certain field and search for class descendants or interface implementations:

Search for something ony in comments or in strings:

Sort result

By default, documents are sorted by relevance. The more words from the query are found in the document, and the closer they are to the beginning, the higher the document will appear in the search results. Relevance is also affected by the size of the document, the number of occurrences of search words, and the modification date. To sort the result by date, hover Relevance and select Date. The results will be grouped by month and year. You can also sort documents by location (folders). Clicking on a folder expands or collapses the documents in that folder:

View search results

On the left side, the found documents are displayed as a list. For each document there are name, path (or mailbox), modification date and a quote containing search query. Some documents may also contain title.
List can be switched to compact mode, with smaller icon and no quote: hover the tab displaying number of documents and select display mode from popup window.
To view documents thumbnails, click on the thumbnails icon. You can also view a thumbnail by hovering a document icon in the search results.

Document Navigation

After selecting a document, click on the Quotes or Contets tab. The Quotes tab contains a list of found fragments. When you click on a fragment or section of the Table of contents, the document scrolls to the corresponding paragraph. Search words occurences are also marked on a scrollbar.

To move to the next or previous fragment, use the right/left arrows on your keyboard. To move to next or previous document use Ctrl + left/right arrows.
To search for text in document, select it and press Enter key. To search for symbol definition (def:) press Ctrl+Enter. Contents tab will show classes, records and and interfaces: Clicking on a class or method will naigate to this method in a document. Also you can click on a method name in a code to go to its implementation and back to class. Uses section is also clickable, click on a unit to open it. Same to {$INCLUDE} and #include. For standard VCL/FMX/RTL classes and Win32 API it will show help hint:

Help files

Any CHM files can also indexed and viewed. Topics styles are preprocessed to adapt to the dark theme, all links works as usual.

FAQ

Q: How long does indexing take?
A: Indexing of RAD Studio 11.2 VCL/RTL/FMX (5400 files) takes 15 seconds on SSD drive. Indexing of RAD Studio Help (124000 topics) takes 5 munutes.

Q: How much disk space is required for index?
A: Extended index for RAD Studio sources and Help requires 200MB.

Q: Is internet connection required?
A: No, only for activation.

Q: Is it necessary to start index update when files are added or modified?
A: No, server is subscribed to system notifications, new files will be added to index in a one minute.

Q: How fast is search?
A: Search time doesn't depend on total files in index, but depends on how much files are found. For queries that return less than 1000 files it will take 200-500 ms.

Q: What file types can be indexed?
A: PAS, DPR, CPP, HPP, C, H, JAVA, JS, SQL, CHM, TXT, MD, CSV, PDF, EPUB, DOC, DOCX, RTF, PPT, PPTX, XLS, XLSX, MSG, EML, PST, ZIP, RAR.

HTML Library customers with active subscription can get a license for free.