Visual Studio est un IDE génial mais il n'est pas disponible sur toutes les plateformes et il peut parfois être long au démarrage. Dans cet article, je vous propose de voir comment utiliser Sublime Text pour coder en C# avec OmniSharpSublime.

OmniSharpSublime est une extension utilisant OmniSharpServer. Elle apporte pas mal de fonctionnalités utiles :

  • auto-complétion
  • aller à l'implementation
  • formatter le document
  • ajouter/supprimer des fichiers au csproj
  • et bien plus ...

OmniSharpServer est simplement un wrapper HTTP autour d'une librairie d'analyse de code utilisée par SharpDevelop et MonoDevelop : NRefactory. Elle offre des APIs permettant d’accéder à l'arbre syntaxique, aux types system et aux informations sémantiques un peu à la manière de Roslyn.

Si vous souhaitez en savoir plus à ce sujet, je vous conseille le lien suivant.

Prérequis

Pour la suite de cet article, vous devez avoir Python, Git et Sublime Text 3 sur votre poste.

Installation

Edit : Il est maintenant possible d'installer le package directement depuis Sublime.

Clonons le dépôt Git dans le dossier Packages de Sublime Text :

cd "C:\Users\{username}\AppData\Roaming\Sublime Text 3\Packages"
git clone https://github.com/moonrabbit/OmniSharpSublime.git
cd OmniSharpSublime
git submodule update --init --recursive

Compilons maintenant OmniSharpServer :

cd OmniSharpServer
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild .\OmniSharp.sln

Création du projet

Ouvrons Sublime Text et créons un nouveau projet : Project -> Save Project As

Puis éditons le : Project -> Edit Project

Ce fichier va nous permettre de configurer Omnisharp :

{
	"folders":
	[{
		"name": "CSharpIsSublime",
		"follow_symlinks": true,
		"path": ".",
		"file_exclude_patterns":
		[
			"*.meta",
			"*.png",
			"*.dll",
			"*.mdb"
		],
		"folder_exclude_patterns":
		[
			"Library"
		]
	}],
	"settings":
	{
		"tab_size": 4
	},
	"solution_file": "./CSharpIsSublime.sln"
	}

Relançons Sublime Text afin de charger l'extension. Normalement vous devriez voir la chaîne $omnisharp plugin_loaded dans la console : View -> Show console

Ouvrons un fichier source, l’auto-complétion est maintenant disponible :)

Image