Comment puis-je « Ajouter un élément existant » à une structure de répertoires entière dans Visual Studio ?

StackOverflow https://stackoverflow.com/questions/57776

  •  09-06-2019
  •  | 
  •  

Question

J'ai un ensemble de fichiers autonomes qui ne sont affiliés à aucun projet C# et qui résident dans une structure de répertoires imbriquées complexe.

Je souhaite les ajouter dans ce format dans un répertoire différent d'une application Web ASP.NET sur laquelle je travaille ;tout en conservant la même structure.J'ai donc copié le dossier dans l'emplacement cible de mon projet et j'ai essayé « d'ajouter un élément existant » uniquement pour perdre la hiérarchie de dossiers précédente.

Habituellement, j'ai recréé les répertoires à la main, copié un à un, puis ajouté des éléments existants.Il y a tout simplement trop de répertoires/éléments dans ce cas.

Alors, comment ajouter des répertoires et des fichiers existants dans Visual Studio 2008 ?

Était-ce utile?

La solution

Faites glisser les fichiers/dossiers de l'Explorateur Windows vers l'Explorateur de solutions.Cela les ajoutera tous.Notez que cela ne fonctionne pas si Visual Studio est en mode Administrateur, car l'Explorateur Windows est un processus en mode utilisateur.

Autres conseils

Activer "Afficher tous les fichiers" pour le projet spécifique (vous devrez peut-être cliquer sur « Actualiser » pour les voir)**.

Les dossiers/fichiers qui ne font pas partie de votre projet paraître légèrement "plus léger" dans l'arborescence du projet.

Clic-droit les dossiers/fichiers que vous souhaitez ajouter et cliquez sur "Inclure dans le projet".Il ajoutera récursivement des dossiers/fichiers au projet.

** Ces boutons sont situés sur la mini barre d'outils de l'Explorateur de solutions.

** Assurez-vous que vous n'êtes PAS en mode débogage.

Dans l'Explorateur de solutions :

  1. Cliquez sur Afficher tous les fichiers (deuxième icône en partant de la gauche en haut de l'Explorateur de solutions).
  2. Localisez le dossier que vous souhaitez ajouter.
  3. Faites un clic droit et sélectionnez "Inclure dans le projet"

Je l'utilise pour installer des modules complémentaires tels que des éditeurs HTML et des navigateurs de fichiers tiers.

Je tiens juste à souligner que deux des solutions proposées précédemment,

  • Glisser-déposer depuis l'Explorateur Windows
  • Afficher tous les fichiers puis inclure dans le projet.

ne faites pas ce que la question demandait :

Inclure dans le projet tout en préservant la structure des répertoires.

Du moins pas dans mon cas (projet C++/CLI Visual Studio 2013 sur Windows 7).

Dans Visual Studio, une fois que vous êtes de retour dans la vue normale (et non Afficher tous les fichiers), les fichiers que vous avez ajoutés sont tous répertoriés au niveau supérieur du projet.

Oui, sur le disque, ils résident toujours là où ils se trouvaient, mais dans l'Explorateur de solutions, ils sont libres.

Je n'ai pas trouvé de moyen de contourner ce problème, à part recréer la structure des répertoires dans l'Explorateur de solutions, puis faire Ajouter des éléments existants au bon endroit.

Je n'ai pas tout de suite compris cela à partir de ces descriptions, mais voici ce sur quoi je suis finalement tombé :

  1. Activez "Afficher tous les fichiers" - il y a une icône sur la barre d'outils de l'Explorateur de solutions
  2. À l'aide de l'Explorateur Windows (et non de l'Explorateur de solutions), déplacez vos fichiers dans la structure de répertoires où vous souhaitez qu'ils résident
  3. Cliquez également sur "Actualiser" dans la barre d'outils de l'Explorateur de solutions.
  4. Les fichiers que vous avez déplacés doivent être visibles « fantômes » dans l'arborescence de l'Explorateur de solutions où vous les avez placés
  5. Faites un clic droit sur vos fichiers ou dossiers fantômes et cliquez sur « Inclure dans le projet ».Tout le contenu d'un dossier sera inclus

Ci-dessous se trouve l'icône du 'Afficher tous les fichiers', juste pour référence facile.

Enter image description here

Enter image description here

Cliquez ci-dessus dans le cercle rouge.Votre dossier apparaîtra dans l'Explorateur de solutions.

Faites un clic droit sur votre dossier -> Inclure dans le projet.

Vous pouvez modifier le XML de votre projet pour ajouter automatiquement des sous-dossiers et des structures existants dans votre projet, comme "node_modules" de NPM :

Ceci concerne les anciennes versions de MSBuild / Visual Studio

<ItemGroup>
   <Item Include="$([System.IO.Directory]::GetFiles(&quot;$(MSBuildProjectDirectory)\node_modules&quot;,&quot;*&quot;,SearchOption.AllDirectories))"></Item>
</ItemGroup>

Pour les versions actuelles de MSBuild/Visual Studio :

Il suffit de le mettre dans les nœuds du XML :

<Project>
</Project>

Dans ce cas, remplacez simplement $(MSBuildProjectDirectory) ode_modules par le nom de votre dossier.

Vous devez placer votre structure de répertoires dans le répertoire de votre projet.Et puis cliquez sur l'icône « Afficher tous les fichiers » en haut de la boîte à outils de l'Explorateur de solutions.Après cela, le répertoire ajouté sera affiché.Vous devrez ensuite sélectionner ce répertoire, faire un clic droit et choisir « Inclure dans le projet ».

Enfin, Visual Studio 2017 permet à l'utilisateur d'importer un répertoire entier en un seul clic.Visual Studio 2017 a une nouvelle fonctionnalité "Dossier ouvert" qui permet d'ouvrir l'intégralité du dossier, même sans avoir besoin de l'enregistrer comme solution.Le code source peut être importé en utilisant les méthodes suivantes.

  1. Menu DéposerOuvrir → *Dossier (Ctrl + Changement + Ô)
  2. devenv.exe <source folder>

Il prend même en charge la création et le débogage de projets CMake.

Apportez votre base de code C++ à Visual Studio avec « Ouvrir le dossier »

C'est ce que je fais:

  1. Faites un clic droit sur la solution -> Ajouter -> Site Web existant...
  2. Choisissez le dossier où se trouve votre site Web.Juste le dossier racine du site.

Ensuite, tout sera ajouté à votre solution, des dossiers aux fichiers, en passant par les fichiers contenus dans ces dossiers.

Une astuce intéressante que j'ai découverte est que si vous allez dans "Ajouter un existant...", vous pouvez faire glisser le dossier de la boîte de dialogue ouverte vers votre solution.

J'ai mon Visual Studio qui s'ouvre automatiquement en mode Administrateur, c'était donc une bonne solution de contournement pour moi car je ne voulais pas avoir à annuler cela juste pour que cela fonctionne.

Ce qui a fonctionné pour moi, c'est de faire glisser le dossier dans Visual Studio, puis de cliquer avec le bouton droit sur le dossier et de sélectionner "Ouvrir le dossier dans l'Explorateur de fichiers".Sélectionnez ensuite tout et faites-les glisser dans le dossier dans Visual Studio.

Il existe maintenant une extension open source sur Marketplace qui semble faire ce que l'OP demandait :

Dossier vers le dossier de solutions

folder-to-solution-folder

S'il ne fait pas exactement ce que vous souhaitez, le code est disponible, vous pouvez donc le modifier en fonction de votre scénario.

HTH

Sous Windows 7, vous pouvez effectuer les opérations suivantes :

Faites un clic droit sur votre projet et sélectionnez "Ajouter->Élément existant".Dans la boîte de dialogue qui apparaît, accédez à la racine du répertoire que vous souhaitez ajouter.Dans le coin supérieur droit, vous avez un champ de recherche.Taper *.cs ou *.cpp, quel que soit le type de fichiers que vous souhaitez ajouter.Une fois la recherche terminée, sélectionnez tous les fichiers, cliquez sur Ajouter et attendez un moment...

Le moyen le plus simple que j'ai trouvé pour ce faire est de créer un nouveau projet de bibliothèque de classes dans le dossier cible et de rediriger toute sa sortie de construction ailleurs.Il laisse toujours un fichier .csproj dans ce dossier, mais il vous permet de le voir dans Visual Studio et de choisir les fichiers à inclure dans votre projet.

Il est ennuyeux que Visual Studio ne prenne pas cela en charge de manière native, mais CMake pourrait générer le projet Visual Studio pour contourner ce problème.

A part ça, utilisez simplement Qt Creator.Il peut ensuite exporter un projet Visual Studio.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top