New Contributors

All of KaVE is open source and you're quite welcome to contribute to it! This page provides you with some entry points and a getting-started guide. Welcome on board!

Getting Started

    1. Install Visual Studio 2013 and R#9
    2. (If you are one of our students, get in contact with us for classroom licenses)
    3. Install the License Header Manager from Visual Studio's extension gallery.
      1. Open Tools > Options... > License Header Manager > General.
      2. Ensure that "Automatically insert license headers in new files" is checked.
      3. Apply the settings.
      4. The license header should now automatically be added to new files. If not, hit Alt+L to insert it manually.
    4. Checkout the source code from the KaVE GitHub repository. You may want to create a fork for you to work on, unless you have commit rights to the original repository.
    5. (If you are one of our students, please send us you GitHub account)
    6. The solution is placed in the feedback-generator subfolder in the repository.
    7. Our project uses NuGet to manage dependencies.

Developing ReSharper Extensions

Debugging ReSharper Extensions

There are two ways of debugging a ReSharper plugins: A slow and a fast way. Unfortunately, going the slow way is necessary, if you change a dependency or an action. Both are statically registered to VS/R# and cannot be updated the fast way. Still, since the slow way is much slower, we recommend you to setup both ways and use whichever appropriate.

Caution: You cannot install our extension in your main Visual Studio instance or the debugger will fail to resolve the symbols.

The Fast Way (Discouraged)

Add a .csproj.user file to each of the project KaVE.Commons, KaVE.RS.Commons, and KaVE.VS.FeedbackGenerator. All three files contain the following:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <HostFullIdentifier>ReSharperPlatformVs12Exp</HostFullIdentifier>
  </PropertyGroup>
</Project>

Adapt 'Exp' to the RootSuffix of your Experimental Instance. Vs12 identifies Visual Studio 2013, which we all currently use.

For details about this debugging process refer to Matt Ellis' "Copy Plugin on Build".

The Slow Way (Recommended)

Debugging R# extension has become more difficult with R#9. We provide a simple script file that helps you with the necessary steps. You find the template "package-and-deploy.bat.example" in the solution's root folder. To prepare debugging, follow these steps:

    1. Configure an Experimental Instance of Visual Studio:
      1. Create a shortcut to Visual Studio in your Windows taskbar.
      2. Right-click the shortcut, right click "Visual Studio", and select "properties".
      3. Append "/ReSharper.Internal /RootSuffix Exp" to the "target".
      4. You can now use this shortcut to start an Experimental Instance, where you install our extension, and debug it from you main Visual Studio instance.
    2. Configure R# Extension Feed:
    3. Create a new folder for your local R# Extension Feed somewhere on your local machine (outside your working copy).
      1. Start the Experimental Instance.
      2. Goto ReSharper > Option...
      3. Select Environment > Extension Manager.
      4. Add an entry pointing to the folder you just created.
      5. Save the change.
    4. Install NuGet to your machine:
      1. Download the NuGet Command-Line Utility.
      2. Place it somewhere on your machine.
      3. Optionally: Add the nuget.exe to you %PATH%.
    5. Prepare our helper script:
    6. Copy "package-and-deploy.bat.example" and rename it to "package-and-deploy.bat".
      1. Open the script for edit:
        1. Change the line "set TARGET=<select local folder>". Insert the path to you new feed folder.
        2. If you didn't add nuget.exe to your %PATH%, change the line starting "nuget.exe pack". Prepend the path to were you placed your nuget.exe.

To actually debug, follow these steps:

    1. Make sure you build our solution in Visual Studio.
    2. Run your "package-and-deploy.bat".
    3. Start the Experimental Instance of Visual Studio (EI).
    4. In the ReSharper Options, set the %TARGET% path from before as a package source.
    5. Select "ReSharper > Extension Manager..." in EI.
  1. Install/Update to the new version of the KaVE extension (you need to tick both the "preliminary version" and the "3rd party tools" checkboxes).
    1. As soon as the installer opens, you can close the EI.
    2. After the installer finished, reopen the EI.
    3. In your main Visual Studio select Debug > Attach... and chose the EI.
    4. Debug as usual.

Using Our TeamCity

If you're working directly on our repository every pushed commit will trigger a build on our TeamCity (reachable only from within the University network). You can register to it yourself. Please use your real name. Notify us about your registration and we'll add you to the respective projects.