J'ai assez souvent le besoin de pouvoir ajouter à mes projets Visual Studio 2005 le contenu d'un répertoire. C'est le cas, par exemple, quand j'utilise le générateur de code .NET pour SQL Server 2005 OlyMars et que je souhaite simplement ajouter un lien vers le code source généré dans mes projets.

Malheureusement, un simple glisser-déplacer du répertoire sur le projet dans Visual Studio 2005 ne répond pas vraiment à mon besoin vu qu'il y'a en fait une copie des fichiers qui est effectuée et non une liaison vers les fichiers d'origine. La conséquence est que, toute modification dans les fichiers d'origine (suite à une régénération du code par OlyMars dans mon exemple précédent) ne sont du coup pas pris en compte dans Visual Studio.

C'est la raison pour laquelle je me suis mis en tête de développer un AddIn pour Visual Studio 2005 qui permet de faire exactement cela. Son nom ? Add Directory Content

Pour télécharger la dernière version de cet AddIn, c'est ici : http://www.msfrancedev.net/AddDirectoryContent/AddDirectoryContentSetup.msi

Une fois installé, son utilisation est on ne peut plus simple. D'abord, ouvrez votre projet dans Visual Studio. Ensuite, créer un répertoire qui va héberger les fichiers liés. Vous pouvez aussi ne pas créer ce répertoire. Dans ce cas, les fichiers seront directement ajoutés à la racine de votre projet. Pour lancer l'AddIn, il suffit ensuite d'aller dans le menu Tools puis Add Directory Content.

Ensuite, vous devez indiquer le répertoire contenant les fichiers de code source. Si vous souhaitez inclure les sous-répertoires, il suffit de cocher la boite à cocher correspondante. Cet AddIn a également la possibilité de recréer la même arborescence de répertoires dans votre projet. Enfin, vous pouvez également filtrer les fichiers que vous ajoutez.

A la fin du processus, un résumé des opérations est présenté à l'utilisateur.

Ca y'est ! L'ensemble des fichiers ont été correctement liés dans votre projet et toute modification dans les fichiers d'origine seront désormais correctement pris en compte à la prochaine compilation.

Notez que, si l'AddIn essaie d'ajouter un fichier lié déjà présent dans votre projet, une erreur sera générée et indiquée dans le résumé des opérations mais cela n'a pas de conséquence particulière. C'est plus un avertissement qu'une erreur en fait.

Si vous avez des feedbacks à me donner sur cet AddIn, la section des commentaires de ce post est le bon endroit.

Enjoy !