Visual Sidekick 3 Help
Contents Page

File Details

Overview

This section describes some of the more lower-level details of the Visual Sidekick implementation including the internal files and folders.

Internal Files and Folders

By default, Visual Sidekick will install itself in the "Program Files\Visual Sidekick 3" folder. There are two folders under the install folder which contain relevant information: GlobalLibraries and Users

In addition to the above, Visual Sidekick will create additional files per solution in the solution's folder.

The Solution's Folder

For each .SLN (Visual Studio Solution) file that is loaded, Visual Sidekick will create two additional files in the same folder as the SLN file. These files are given the same base name as the .SLN, but have the extensions .VSKSLN (Visual Sidekick Solution) and .VSKDB (Visual Sidekick Database).

The .VSKDB file is a cached copy of the symbols in the solution, and can be safely deleted. Visual Sidekick will rebuild it the next time the solution is loaded.

The .VSKSLN file stores all Solution-specific configuration options. If there have been no changes to the solution options, this file may be deleted. It will be replaced with a new version when Visual Sidekick processes the solution again.

The GlobalLibraries Folder

The GlobalLibraries folder stores the unmanaged C++ library definition files. These files include .VSKLIB (Visual Sidekick Library) files and .VSKDB (Visual Sidekick Database) files.

The Users Folder

Each user that installs Visual Sidekick will get a sub-folder created in the Users folder. This folder contains configuration files on a per-user basis. These files include VskGlobalOptions.cfg and UserMacrosCPP.h .

The VskGlobalOptions.cfg file is updated by the VSK Global Options dialog and should never be edited.

The UserMacrosCPP.h file should be updated by the user if any additional pre-processor macros are required for the parser to work properly. All libraries and solutions should be reparsed fully if this file is changed (use the VSK / File menu options: Reparse All Solution Files Unconditionally, and Reparse All Unmanaged Library Files Unconditionally ).

Creating your own Visual Sidekick Library

Visual Sidekick doesn't currently support the creation of libraries via a user interface.  Instead, you will need to create the library file (.VSKLIB) yourself.

Below is a example of a library file that loads all files from a Windows Folder . Folders are not recursed.

<VskLibrary ver="0.01">
    <MasterFolder name="Your Library Name">
        <Directory path="c:\SourceCode\YourLibrary"/>
        <Directory path="c:\SourceCode\YourLibrary\MoreCode"/>
   </MasterFolder>
</VskLibrary>

You may use the "SearchPath" element with the following macros to include files from special folders:

Here is a stripped-down example of a library file that references files found on the Visual Studio Include Path ($VcInclude) and relative to the Visual C++ Install Folder ($VcRoot).

<VskLibrary ver="0.01">
   <MasterFolder name="Your Library Name">
       <SearchPath path="$VcInclude">
            <File relativePath="YourFile1.h"/>
            <File relativePath="YourFile1.cpp>"/>
       </SearchPath>
       <SearchPath path="$VcRoot/atlmfc/src/mfc">
            <File relativePath="YourFile1.h"/>
            <File relativePath="YourFile1.cpp>"/>
       </SearchPath>
   </MasterFolder>
</VskLibrary>

Finally, the library files can be grouped into logical "sub folders".  Folders may also be nested inside other folders.

<VskLibrary ver="0.01">
   <MasterFolder name="Your Library Name">
       <Folder name="Root">
            <Directory path="c:\SourceCode\YourLibrary"/>
            <Folder name="MoreCode">
                <Directory path="c:\SourceCode\YourLibrary\MoreCode"/>
            </Folder>
        </Folder>
    </MasterFolder>
</VskLibrary>

Note: You may use standard XML comments "<!-- ... -->" in these files.

Editing the standard Visual Sidekick Libraries

Do NOT edit any of the .VSKLIB files that ship with Visual Sidekick. Future versions of Visual Sidekick will update and replace these files. You will lose any of your changes. Rather create a new library with any additional files you require.