Intellisense

The Visual Studio Integration Package for the Spark view engine is a bit touchy for now. Some issues will be addressed in time, although for now there are a few things you can do to maximize the functionality.

Installing

The VS language package is installed from an msi in the root of the download release zip. The version of the VS package does not need to match the version of the Spark assemblies you are using.

The installer has no user interface or success confirmation. If you see a progress bar with a cancel button that suddenly disappears you have successfully installed! If anyone's interested in adding Wix user interface the contribution would be welcomed. :) There's also a logo now if you would like to add that as well.

Spark Logo

Opening files

Files must be opened with the Source Code (Text) Editor. To do that you would right-click a spark file and select Open With... Open With

You may also use this editor to set breakpoints in .spark files, which is awfully convenient.

Only .spark files within a Web Application Project will have colorization and intellisense. If you have a class library containing .spark files, you might want to consider changing the .csproj type to a Web Application Project but treat it like a class library in every other way.

ReSharper

ReSharper will stop the native csharp language service from displaying IntelliSense. But when this option is changed (as shown below) ReSharper is unable to display it's own intellisense in the context of a .spark file.

There is a setting on ReSharper->Options... which will prevent this from happening and leaves all of the rest of it's functionality intact.

ReSharper Options

References

The csharp language background compiler appears to have some difficulty locating certain assemblies in some situations. This is often the problem if you have some intellisense features, but certain types like ${Html.} and ${Context.} provide no information.

A workaround for this problem is to ensure that copies of the needed assemblies are present in the bin directory.

  • in you References list, mark System.Web.Mvc, System.Web.Routing, and System.Web.Abstractions as Copy Local
  • recompile and verify those are copied down into your bin folder
  • close and re-open a .spark file in the project

Intellisense