Visual Studio
Visual Studioツール
サーチ…
コードレンズ
コードレンズは、コードがどうなるかを知るための簡単な方法です。ここでは、メソッドやクラスの参照数でイメージを見つけることができます。
コードレンズが見えない場合は、この質問を参照してください: 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つまたは複数のキーワード要素をグループ化します。 |
スニペットタイプ |
|
ソーステーブル(ただし編集済み): msdn.microsoft.com
2.スニペット
スニペットタグでは、3つの異なるタグを使用できます。これは次のようになります。
- 輸入
- 宣言
- コード(必須)
- 参考文献
これらについては以下で説明します。
2.1輸入
Imports
は、コードに必要な名前空間が必要です。このタグ内のimport-tagを使用して、必要な名前空間をそれぞれNamespace
タグとともに配置することができます。
2.2宣言
Declarations
は、 Code
タグ内のCode
リテラルやオブジェクトをDeclarations
するために使用できます。子どもはリテラルやオブジェクトです。
リテラルとオブジェクトは、編集可能なコードスニペットのリテラルとオブジェクトを定義します。機能はリテラルであり、オブジェクトは同じですが、追加の型制約があります。
Literalおよびobject-tagには、次の子を含めることができます。
-
ID
:リテラルのID(必須) -
Type
:名前空間とクラスを含むそのオブジェクトのタイプ(オブジェクトで必要) -
ToolTip
:ToolTip
与える -
Default
:そのオブジェクトのデフォルト値(必須) -
Functions
スニペットには、あらかじめ定義されたリテラルがいくつかあります。それらは以下の通りです:
リテラル | 詳細 |
---|---|
$end$ | コードスニペットを挿入した後にカーソルを置く場所をマークします。 |
$selected$ | 呼び出されたときにスニペットに挿入されるドキュメントで選択されたテキストを表します。あなたが持っている例: A $selected$ is an object that I like.テンプレートを呼び出したときに単語が選択された場合、次のようになります。 A car is an object that I like. |
リテラルタグまたはオブジェクトタグの関数は、別の要素に応じてコードを生成する関数を使用できることを意味します。私が知っている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にスニペットをインポートする
XMLコードを保存し、拡張子
.snippet
ます。Control + K 、 Control + Bを押すか、 「ツール」 → 「コードスニペットマネージャ...」に移動して、Visual Studioに新しいスニペットを追加できます 。この開いた次のウィンドウ:
コンボボックスに言語を選択して、スニペットを作成した言語を選択します。 [ インポート... ]をクリックし、作成したファイルを選択します。
"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のドキュメント