TFS en builden vanuit Sublime Text 2

Door 15 november 2013Tips & Trucs

Recent was ik bezig met een .NET project (een website op Dynamicweb) in Visual Studio. Als je van Sublime Text naar Visual Studio gaat is dat behoorlijk wennen (in mijn opinie een afgang), zodoende ben ik gaan kijken of het mogelijk is aan .NET projecten te werken vanuit Sublime Text.

Wat is er nodig?

Om vanuit Sublime Text te kunnen werken aan een .NET project heb je op zijn minst toegang tot TFS nodig. Ter informatie, dit is een soort van SVN cq GIT maar dan van Microsoft. Daarnaast is het nodig om na een wijziging een build te doen, hierna is het resultaat pas zichtbaar in de browser.

TFS in Sublime Text

Hiervoor is een plugin beschikbaar: Sublime TFS! Met in deze plugin; een super handige optie “auto checkout”. Zodra je een bestand opent wordt deze automatisch uitgecheckt. Wél dien je deze optie zelf nog even aan te zetten in “sublime_tfs.sublime-settings”. Uiteraard dient “tf.exe” wel aanwezig te zijn op je pc, maar als je Visual Studio geïnstalleerd hebt staan is dat het geval.

Builden vanuit Sublime Text

Na een wijziging dient er ge-build te worden, daarvoor is er ook een plugin beschikbaar maar deze voldeed niet helemaal aan mijn wensen. De reden hiervan is dat je niet vanuit een ander bestand dan een project bestand (csproj) kan builden. Daarnaast moest dit handmatig elke keer gedaan te worden na een wijziging, makkelijker is zodra er een bestand opgeslagen wordt dit automatisch gebeurd.

New Build System

In het menu is onder “Tools” gevolgd door “Build System” is de optie “New Build System” te vinden. Plak daar het volgende in:

{
	"cmd": ["msbuild", "C:\\projects\\projectnaam\\project.csproj"],
	"working_dir": "${file_path:${folder}}",
	"file_regex": "^\\s*(.+?)\\(([0-9]+),?([0-9]+)?\\):\\s*(.*) \\[",
	"shell": true,
	"selector": "source.msbuild",
	"windows":
	{
		"path": "%PATH%;%WINDIR%\\Microsoft.NET\\Framework\\v4.0.30319;%WINDIR%\\Microsoft.NET\\Framework\\v3.5;%WINDIR%\\Microsoft.NET\\Framework\\v2.0.50727"
	}
}

Vervang hier het pad naar je project bestand. Deze stap dien je te herhalen voor elk project, zodat elk project een eigen build system heeft. Hierna kan het build system gebruikt worden door deze aan te vinken in het menu. Middels de sneltoets CTRL-B wordt de build uitgevoerd waarvan de resultaten onderin een log getoond worden. Zoals op te merken uit het bovenstaande json stukje is het .NET framework vereist.

Build on save

Elke keer CTRL-S gevolgd door CTRL-B is wat dubbel op, daarom heb ik de plugin SublimeOnSaveBuild ingezet. In mijn geval was ik voornamelijk bezig met HTML, LESS en XSLT bestanden maar daarbij werd niet ge-build. Daarvoor heb ik in “SublimeOnSaveBuild.sublime-settings” de “filename_filter” uitgebreid met extensies:

{
    "filename_filter": "\\.(css|js|sass|less|scss|html|xslt)$",
    "build_on_save": 1
}

Als enthousiaste Sublime Text gebruiker, kan ik op deze manier lekker in Sublime Text blijven!