web-dev-qa-db-fra.com

Créer automatiquement #region avec le même nom chez #endregion

Je me demande s’il est possible de créer #region Some Region #endregion Some Region. S'il est impossible de le faire, peut-être est-ce possible avec Resharper?

J'espère que c'est clair ce que j'essaye de réaliser ici.

Modifier:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.Microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
    <Header>
        <Title>#region</Title>
        <Shortcut>#region</Shortcut>
        <Description>Code snippet for #region</Description>
        <Author>Microsoft Corporation</Author>
        <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
            <SnippetType>SurroundsWith</SnippetType>
        </SnippetTypes>
    </Header>
    <Snippet>
        <Declarations>
            <Literal>
                <ID>name</ID>
                <ToolTip>Region name</ToolTip>
                <Default>MyRegion</Default>
            </Literal>
        </Declarations>
        <Code Language="csharp"><![CDATA[#region $name$
    $selected$ $end$
#endregion $name$]]>
        </Code>
    </Snippet>
</CodeSnippet>
</CodeSnippets>

Deuxième édition: Cela fonctionne, mais seulement lorsque je crée un extrait d'insertion. De intellisense cela en utilisant un autre extrait je gues. 

Alors, y at-il un moyen d’ajouter ma région à partir d’intellisense et non à partir du menu Insérer un extrait de code?

11
harry180

Si ce que vous essayez d’atteindre est ...

#region MyRegion
//...lots of code...
#endregion // end of MyRegion

Vous pouvez le faire avec un extrait de code appelé "SurroundsWith". Voici un extrait de ma bibliothèque ...

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0"    
   xmlns="http://schemas.Microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>Enregions a block of code</Title>
    <Author>GJV</Author>
    <Shortcut>enr</Shortcut>
    <Description>Surrounds a block of code with region directives</Description>
    <SnippetTypes>
      <SnippetType>SurroundsWith</SnippetType>
      <SnippetType>Expansion</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Declarations>
      <Literal Editable="True">
        <ID>RegionName</ID>
        <ToolTip>Region Name</ToolTip>
        <Default>MyRegion</Default>
      </Literal>
    </Declarations>
    <Code Language="CSharp">  
    <![CDATA[
    #region $RegionName$
    $end$         
    $selected$    
    #endregion // end of $RegionName$ 
    ]]>        
    </Code>
  </Snippet>
</CodeSnippet>

Pour l'utiliser dans Visual Studio, placez l'extrait dans un fichier .snippet et enregistrez-le dans votre répertoire d'extraits, puis sélectionnez Outils => Gestionnaire d'extraits de code => Ajouter. Une fois ajouté, vous pouvez utiliser le CTRK standard K + X pour y accéder.

La seule chose que cela vous donne par rapport à l'extrait de code intégré pour la région est la possibilité d'ajouter le commentaire de fin pour indiquer la fin de la région. Vous pouvez également personnaliser cela en ajoutant des extensions supplémentaires.

REMARQUE: les marques sentinelles $ end $ où vous souhaitez que le curseur atterrisse à la fin de l'opération.

11
Gayot Fow

Visual Studio 2017

Type #rTABTAB, puis tapez le nom de la région.

Ceci est construit dans le comportement.

5
toddmo

Je recommande VSCommands .

Jetez un coup d'œil à la partie "Améliorations apportées à la fin du bloc de code

Modifier le 25.08.2014

Il mettra le début du bloc de code (nom de la méthode aso.) Comme hyperlien gris clair à la fin du bloc de code. En tant que lien hypertexte car il est cliquable et vous pouvez naviguer au début du bloc de code.

1
Dom84

La version intégrée de Visual Studio est Ctrl K + X  

1
raminjacobson

Vous pouvez modifier le modèle par défaut de ReSharper pour #region en:

#region $name$
    $END$
#endregion $name$

Mettre à jour:

Étrange, mais si vous modifiez le modèle par défaut de #region, rien ne fonctionne. Vous devez définir votre propre modèle, définir un extrait pour ce dernier (c'est-à-dire reg) et y insérer le code écrit ci-dessus.

1
rpeshkov

appuyez sur Ctrl + K, S et sélectionnez Région

0
iandavidson1982