I used to use KeyNote for that, which of course wasn't optimal, because RTF isn't a good medium for code snippets (no syntax highlighting for one thing), and the search facility lags sorely behind what's become commonplace today, like instant search or filtering. Finally I gave up and I use nothing
The reason is that I have so much 3rd party code - in plain text files, saved html pages, FAQs, howtos, etc., help files in various formats, source code libraries, PDFs and other ebooks etc., that it's quite futile to round it all up in one place. I keep all of this in a set of well-defined folders, and use Archivarius to search through the mess. It works, but when I do need to find something, it's often faster to just use Google, unless I'm looking for something very specific in a particular Delphi library or component. In the latter case Total Commander's built in search is fast enough to scan thousands of .pas files very quickly.
For version control, I have tried Subversion/Tortoise a number of times, but it was always way too much hassle for a one-person hobby setup. It takes away too much for my liking - e.g. you can't rename, delete files or move them around in your file manager anymore, you have to go through the contortions of the right-click menu and inconvenient dialog boxes. Especially at the beginning of a project, I create, rename and rearrange the source code all the time, and doing it through SVN is a huge aggravation. I just keep multiple, versioned backups of everything, and when I feel I've reached a "milestone", I zip up whole project tree and keep a backup of that as well. Total Commander searches very quickly through zip archives as well, and that's been good enough for me.