Question

J'ai un projet WinForm qui contient un formulaire appelé MainUI. Vous pouvez voir que la classe partielle générée automatiquement apparaît comme un nœud sous MainUI.cs. Est-il un moyen de « déplacer » mon auto créé MainUI.Other.cs de classe partielle sous MainUI.cs de sorte qu'il va montrer un autre nœud?

Était-ce utile?

La solution

Fermer la solution dans Visual Studio et ouvrez votre fichier .csproj dans un éditeur de texte. Trouvez MainUI.Other.cs et ajoutez l'élément XML suivant:

<Compile Include="MainUI.Other.cs">
  <SubType>Form</SubType>
  <DependentUpon>MainUI.cs</DependentUpon>  <!-- this is the magic incantation -->
</Compile>

Ouvrez à nouveau la solution dans Visual Studio et profiter de la bonté subnodular.

Cela dit, vous pouvez vouloir reconsidérer si cela est une bonne idée. La raison pour laquelle le fichier .designer.cs est affiché en tant que sous-nœud est parce que vous ne serez pas normalement besoin ou si vous voulez l'ouvrir, car il contient le code généré que vous souhaitez afficher ou modifier normalement par le concepteur. Alors qu'un fichier de classe partielle contiendra votre code, que vous voulez afficher et modifier; il peut être source de confusion pour les programmeurs de maintenance si le fichier est pas facilement visible dans l'Explorateur de solutions. Cependant, vous seul pouvez savoir ce qui est bon pour votre projet - quelque chose à garder à l'esprit

Autres conseils

Oui, cela est possible, mais vous devrez remettre modifier le fichier de projet.

Dans le fichier de projet (ouvrir avec l'éditeur XML) localiser le fichier liste groupe d'articles. Dans mon exemple, je suis parti sous la forme de « Form1.cs ». Ajouter l'élément enfant "<DependentUpon>" à votre classe étendue comme dans l'exemple ci-dessous:

 <Compile Include="Form1.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="Form1.Designer.cs">
      <DependentUpon>Form1.cs</DependentUpon>
    </Compile>
    <Compile Include="Form1.Designer.Other.cs">
      <DependentUpon>Form1.cs</DependentUpon>
      <SubType>Form</SubType>
    </Compile>

En général si vous ne voulez pas de code non généré à cacher comme un nœud enfant cependant. Ma pratique normale est de créer un dossier dans le projet intitulé « Les classes partielles » et les ajouter dans le même endroit.

Vous pouvez modifier le fichier source du projet pour regrouper les fichiers connexes. Dans le fichier source du projet, trouver l'élément ItemGroup qui contient MainUI.cs et ajoutez une entrée pour MainUI.Others.cs

Voici un blog montrant comment le faire dans les détails. Groupe / imbriquer fichiers de code source

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