サーチ…


コードレンズ

コードレンズは、コードがどうなるかを知るための簡単な方法です。ここでは、メソッドやクラスの参照数でイメージを見つけることができます。

コードレンズ

コードレンズが見えない場合は、この質問を参照してください: VS 2015コミュニティ版でCodeLensの参照がない

スニペット

入札

Visual Studio 2005では、Intellisenseコードスニペットを作成できます。これにより、1つのキーワードを入力してタブキーを 2回押すだけでコードを生成することができます。

コードの使用

Intellisenseコードスニペットを作成するために必要なXMLコードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet">
  <CodeSnippet Format="1.0.0"> <!-- format attribute is required -->

    <Header> <!-- 1 -->
      <Title></Title>
      <Author></Author>
      <Shortcut></Shortcut>
      <Description></Description>
      <Keywords>
        <Keyword>abc<Keyword>
        <Keyword>def<Keyword>
      </keywords>
    </Header>

    <Snippet> <!-- 2 -->

      <Imports> <!-- 2.1 -->
        <Import>
          <Namespace>System</Namespace>
        </Import>
      </Imports>

      <Declarations> <!-- 2.2 -->
        <Literal Editable="true/false"> <!-- 2.2.1 -->
          <ID>example</ID>
          <Type>System.String</Type>
          <ToolTip>A tip you can show</ToolTip>
          <Default>default value</Default>
          <Function></Function> <!-- 2.2.2 -->
        </Literal>

        <Object> <!-- 2.2.1 -->
          <ID>example</ID>
          <Type>System.String</Type>
          <ToolTip>A tip you can show</ToolTip>
          <Default>default value</Default>
          <Function></Function> <!-- 2.2.2 -->
        </Object>
      </Declarations>

      <References> <!-- 2.3 -->
        <Reference>
          <Assembly>System.Data.dll</Assembly>
        </Reference>
      </References>

      <Code Language=""> <!-- 2.4 -->
        <![CDATA[
            <!-- your code here if you use literals use dollar chars  -->
        ]]>
      </Code>

    </Snippet>

  </CodeSnippet>
</CodeSnippets>

スニペットタグには、ヘッダーとスニペットという2つの必須タグがあります。詳細は次の見出しにあります。名前の近くの数字は上記のコードの数字に対応しています。

CodeSnippets要素に0個以上のCodeSnippet要素を追加することができます。

1.ヘッダー

ヘッダータグには、スニペットとそのスニペットに関する特定の情報を配置することができます。このタグ内で使用できる重要なタグは次のとおりです。

素子説明
タイトルスニペットのタイトル。この属性は必須です。
著者スニペットの作者。
ショートカットショートカットは、コードを生成するために使用することができます。これには文字と数字のみが含まれていて、文字で始まる必要があることに注意してください。
注:スニペットには、一意の名前とショートカットを付けることも覚えておいてください。そうしないと、スニペットをVisual Studioにインポートするときに問題が発生します。
説明スニペットについてもっと必要な情報を提供します。
HelpUrl インターネット上のヘルプページのURL。
キーワード 1つまたは複数のキーワード要素をグループ化します。
スニペットタイプ

SnippetType要素をグループSnippetTypeます。この要素にはテキスト値が含まれ、次のいずれかの値である必要があります。スニペットタイプはスラッシュでマージされます。


  • SurroundsWith :選択したコードの周りにコードスニペットを配置できます。
  • Expansion :コードスニペットをカーソルに挿入できるようにします。
  • Refactoring :Visual C#リファクタリング中にコードスニペットを使用することを指定します。カスタムコードスニペットでリファクタリングを使用することはできません。
ソースリスト: msdn.microsoft.com

ソーステーブル(ただし編集済み): msdn.microsoft.com

2.スニペット

スニペットタグでは、3つの異なるタグを使用できます。これは次のようになります。

  • 輸入
  • 宣言
  • コード(必須)
  • 参考文献

これらについては以下で説明します。

2.1輸入

Importsは、コードに必要な名前空間が必要です。このタグ内のimport-tagを使用して、必要な名前空間をそれぞれNamespaceタグとともに配置することができます。

2.2宣言

Declarationsは、 Codeタグ内のCodeリテラルやオブジェクトをDeclarationsするために使用できます。子どもはリテラルやオブジェクトです。

2.2.1リテラルとオブジェクト

リテラルとオブジェクトは、編集可能なコードスニペットのリテラルとオブジェクトを定義します。機能はリテラルであり、オブジェクトは同じですが、追加の型制約があります。

Literalおよびobject-tagには、次の子を含めることができます。

  • IDリテラルのID(必須)
  • Type名前空間とクラスを含むそのオブジェクトのタイプ(オブジェクトで必要)
  • ToolTipToolTip与える
  • Defaultそのオブジェクトのデフォルト値(必須)
  • Functions

スニペットには、あらかじめ定義されたリテラルがいくつかあります。それらは以下の通りです:

リテラル詳細
$end$ コードスニペットを挿入した後にカーソルを置く場所をマークします。
$selected$ 呼び出されたときにスニペットに挿入されるドキュメントで選択されたテキストを表します。あなたが持っている例:
A $selected$ is an object that I like.
テンプレートを呼び出したときに単語が選択された場合、次のようになります。
A car is an object that I like.
2.2.2関数

リテラルタグまたはオブジェクトタグの関数は、別の要素に応じてコードを生成する関数を使用できることを意味します。私が知っている3つの機能があります:

関数説明言語
GenerateSwitchCases (EnumerationLiteral) EnumerationLiteralパラメーターで指定された列挙のメンバーのswitchステートメントとcaseステートメントのセットを生成します。 EnumerationLiteralパラメータは、列挙型リテラルへの参照または列挙型のいずれかである必要があります。 Visual C#とVisual J# 1
ClassName() 挿入されたスニペットを含むクラスの名前を返します。 Visual C#とVisual J# 1
SimpleTypeName(TypeName) スニペットが呼び出されたコンテキストでTypeNameパラメータが最も単純な形式に縮小されます。 Visual C#

1はVisual Studio 2005でのみ使用できます。

ソーステーブル: msdn.microsoft.com

リテラルおよびオブジェクト要素の属性

リテラルタグとオブジェクトタグには、いくつかのオプション属性があります。

属性説明タイプ
編集可能なコードスニペットを挿入した後にリテラルを編集できるかどうかを指定します。この属性のデフォルト値はtrueです。 ブール

ソーステーブル: msdn.microsoft.com

2.3参考文献

グループは、コードスニペットのアセンブリ参照に関する情報を含む要素を参照します。これには次の要素を含めることができます:

  • アセンブリ:コードスニペットによるアセンブリの名前が含まれます(必須)
  • Url:アセンブリに関する詳細情報を提供するWebサイトが含まれています

2.4コード

コードは<![CDATA[]]>間に生成するコードです。リテラルのIDをドル文字の間に置くと、宣言が記入されていればVisual Studioはこれらのデフォルト値を変更するよう求めます。ここでは、ショートカットpropfullのC#とVBの例を示します。

<!-- ... Other code ... -->
<Declarations>
  <Literal>
    <Id>variablename</Id>
    <Default>_myproperty</Default>
  </Literal>

  <Literal>
    <Id>propertytype</Id>
    <Default>int</Default>
  </Literal>

  <Literal>
    <Id>propertyname</Id>
    <Default>myproperty</Default>
  </Literal>
</Declarations>

<Code Language="CSharp">
  <![CDATA[
    private $propertyvalue$ $variablename$;

    public $propertyvalue$ $propertyname$
    {
        get { return $variablename$; }
        set { $Variablename$ = Value; }
    }
  ]]>
</Code>

<!-- ... Other code ... -->

<Declarations>
  <Literal>
    <Id>variablename</Id>
    <Default>_myproperty</Default>
  </Literal>

  <Literal>
    <Id>propertytype</Id>
    <Default>int</Default>
  </Literal>

  <Literal>
    <Id>propertyname</Id>
    <Default>myproperty</Default>
  </Literal> 
</Declarations>

<Code Language="VB">
  <![CDATA[
    Private $variablename$ As $propertyvalue$ 
    
    Public Property $propertyname$ As $propertyvalue$
        Get
            Return $variablename$ 
        End Get

        Set (ByVal value As $propertyvalue$)
            $variablename$ = value
        End Set
    End Property
  ]]>
</Code>

<!-- ... Other code ... -->

必要な言語属性では、スニペットを作成する場所で言語を定義できます。次の表で、使用できる言語を見つけることができます。

言語キーワード次のバージョンで利用可能
Visual C# Cシャープ 2005年、2010年、2012年以降
Visual Basic VB 2005年、2010年、2012年以降
XML XML 2005年、2010年、2012年以降
Visual J# VJシャープ 2005年、2012年以降
C ++ CPP 2012年以降
JavaScript JavaScript 2012年以降
JScript JScript 2012年以降
SQL SQL 2012年以降
HTML HTML 2012年以降
CSS CSS 2012年以降
XAML XAML 2012年以降

その他のオプションの属性は次のとおりです。

属性説明
デリミタコード内のリテラルとオブジェクトを記述するための区切り文字を指定します。デフォルトでは、区切り文字は$です。
種類スニペットに含まれるコードの種類と、コードスニペットをコンパイルするためにコードスニペットを挿入する必要がある場所を指定します。

kind変数の有効な値は次のとおりです。

説明
メソッド本体コードスニペットがメソッド本体であることを指定するため、メソッド宣言の内部に挿入する必要があります。
メソッドdecl コードスニペットがメソッドであることを指定するため、クラスまたはモジュールの内部に挿入する必要があります。
型宣言コードスニペットが型であることを指定するため、クラス、モジュール、または名前空間内に挿入する必要があります。
ファイルスニペットが完全なコードファイルであることを指定します。これらのコードスニペットは、コードファイルまたは名前空間内に単独で挿入することができます。
どれかスニペットをどこにでも挿入できることを指定します。このタグは、コメントなどのコンテキストに依存しないコードスニペットに使用されます。

ソーステーブル: msdn.microsoft.com

Visual Studioにスニペットをインポートする

  1. XMLコードを保存し、拡張子.snippetます。

  2. Control + KControl + Bを押すか、 「ツール」「コードスニペットマネージャ...」に移動して、Visual Studioに新しいスニペットを追加できます 。この開いた次のウィンドウ:

    コードスニペットマネージャーウィンドウ

  3. コンボボックスに言語を選択して、スニペットを作成した言語を選択します。 [ インポート... ]をクリックし、作成したファイルを選択します。

    コードスニペットのインポートウィンドウ

  4. "Finish"クリックします。ファイル名が既に使用されている場合、Visual Studioは既存のファイルを上書きするかどうか尋ねます。 3つのオプションがあります:

    • 上書き:ファイルを上書きします。古いスニペットを編集する場合は、このオプションを使用できます。
    • 名前の変更ファイルの名前を一意の名前に変更します。
    • スキップ:インポートを取り消します。ファイルの名前を一意の名前に変更します。

また、最初のウィンドウの[ 追加... ]ボタンをクリックし、 [フォルダの選択ウィンドウ ]でフォルダを選択することで、作成したすべてのスニペットを含む新しい場所を追加することもできます 。利点は、新しい有効なスニペットがそのフォルダに追加された時点で、これをVisual Studioで直接使用できることです。

注:スニペットをエラーのためにインポートした後でテストしてください。スニペットを使用する際に問題はありません。エラーがある場合、スニペットを削除または上書きできます。

知事のポイント

詳細については、 MSDNのドキュメントを参照することもできます。

マージ/比較ツールをオーバーライドする

ツール|オプション|ソース管理| Visual Studio Team Foundation Server

[Configure User Tools]をクリックします。

ここに画像の説明を入力

'Compare'と 'Merge'操作に別々のオーバーライドを追加できます。 [追加]をクリックして、オーバーライドする操作を選択します。あなたが使用するツールへのパスと、ツールが期待する正確な引数を入力する必要があります。たとえば、BeyondCompareを使用するには、次の引数 "%1%2 / title1 =%6 / title2 =%7"を追加します。

ここに画像の説明を入力

BeyondCompareとマージするには引数 "%1%2%3%4 / title1 =%6 / title2 =%7 / title3 =%8 / title4 =%9"を使用します。

WinDiff、DiffDoc、WinMerge、Beyond Compare、KDiff3、Araxis、Compare It !, SourceGear DiffMerge、TortoiseMerge、Visual SlickEditの6つのブログ記事で、 MSの従業員James Manningがさまざまなツールで期待通りに議論しました。投稿は適切な出発点ですが、ツールの最新のドキュメントを必ず確認してください。

3ウェイマージができないマージツール(WinMerge 2.xなど)では使用しないことを強くお勧めします。

エンティティフレームワーク

Entity Framework(EF)は、.NET開発者がドメイン固有のオブジェクトを使用してリレーショナルデータを操作できるオブジェクトリレーショナルマッパーです。これにより、開発者が通常書く必要のあるデータアクセスコードのほとんどが不要になります。

Entity Frameworkを使用すると、EF Designerでコードを記述したり、ボックスや線を使用してモデルを作成できます。これらのアプローチの両方を使用して、既存のデータベースをターゲットにするか、新しいデータベースを作成することができます。

ソースと詳細: Entity Frameworkのドキュメント



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow