Introduction
CodeLib is as the name suggests a code library application that can be used to organise and store code snippets so that they can be easily located and retrieved. The home page of CodeLib is at
Fish's .NET. The web site is a mixture of English, mainly for navigation, and traditional chinese for explanation. There was enough English for me to find my way around and download the version I required. There were 3 versions on offer: SQL Server, JET (Access) & mySQL versions. As I already had MSDE (SQL Server) installed on my laptop I decided to use the SQL server (MSDE) version. The SQL Server version was a download of just over 1.5 Meg.
Installation
The installation was very simple and was performed in under a minute. This installed an entry in my All Programs menu called CodeLib.NET (SQL Server).
When I ran the application for the first time I was prompted to create a connection to my MSDE. I chose a profile name of CodeLib Admin, and use SQL Server authentication with the sa user to login. Opening the connection created a database called CodeLib and displayed the main CodeLib interface.
It should be mentioned that I tried the following approach but despite trying a various options I could not get any user but sa to work.
Within Enterprise Manager I created another user Shandy and gave this user public and owner rights to the CodeLib database. Within CodeLib I created a profile called CodeLib and used SQL Server authentication with Shandy as the user login. This creation of a secondary user is purely a security measure as I don't like logging into databases as sa, which as administrator rights. At this point I closed down the main CodeLib interface and re-connected with the CodeLib profile. Alas, I was unable to create any nodes and in the end had to abandon this approach.
I tried load the help but got a message saying the help was not installed. There was an option to download it but this did not work. At this point I went back to the web site and noticed that there was a separate entry on the downloads page for a windows help file. I downloaded this. It was just over a 5 meg download. The help file needs to be placed in the same folder as the executable. Unfortunately the help file was not in English and so was only of limited use to me.
I checked in VS for the CodeLib addin and was unable to locate it. Checking again on the web site I found a separate download for the VS Addin (again with JET & mySQL versions) I downloaded the SQL Server version which was around 350K. The installation was seemless and when I loaded VS the CodeLib icon was snuggled between the Toolbox and Class View icons.
Getting Started
The application interface was initially fairly intuitive. The screen is split into two panes, a treeview and a text area with various toolbars, menus and tab strips. Within the treeview I created a database, which turned out to be a virtual database within the SQL Server CodeLib database. From this initial database I then created some nodes. These nodes can be descriptive or can be data holders. Simply adding a node to another node turns the node higher up the tree into a descriptive node. My initial structure went a long the lines of:
Database: VBNet, Node: GraphicsServer, Node: Imports.
However, the use of the right hand pane was less intuitive. I decided to add a code snippet and it took several minutes to work out how to do it. I had to right click on the data holder node (Imports) and select Code. This displayed a Code pane in the right hand pane. I then had to right click in the Code pane and select Edit before I could post any code. However, once I had it figured out I had no problems, although I did find the interface a little clunky to use.
As well as storing code snippets you can store notes, files, pictures & URLs and well as references to other nodes, all selectable as tab items. There is a dynamic option that means that only the tab items that contain information are shown. The storage of web pages is very useful as resources on the web tend to come and go. One warning though. Web pages typically took up between 100K & 500K per page!
The VS window provided by CodeLib was the treeview left hand pane of the main application and although it did dock onto the toolbar it would not dock to either the toolbar nor the solution explorer etc. windows which would have been better as the treeview interface was better suited to a vertical display. Selecting an actual codesnippet from the treeview displayed another window that could again be docked with the toolbar. Both had the VS auto hide facility. When CodeLib is loaded from within VS there are two windows available, one with a treeview of the hierarchy and one with the details of the item selected in the hierarchy. You cannot update CodeLib from within VS, only view the entries. Also one obmission was that stored web pages are not viewable either.
Conclusion
The lack of a help file in English proved a hidderence but did not prevent me being able to use CodeLib.
Pros
- The cost, it's free.
- The support for 3 databases.
- Ability to handle hierarchical data storage of snippets.
Cons
- The installation was by no means seemless.
- The interface is not particularly intuitive.
Overall I'd give CodeLib 4/5. It is a good product that just needs a few rough edges taken off. I'd strongly advise the authors to create an English version of the help file and web site as this would give them a lot more exposure and made this product excessible to a lot more users. It cetainly offers a lot more than the
Code Snippet application supplied within Codesmart.