2

Visual Studio では、コード スニペットを使用できます。たとえば、クラスを編集しているときに入力するctorと、デフォルトのコンストラクターがクラスに自動的に追加されます。次のことを行う Visual Studio でコード スニペットを作成することは可能ですか。

  • カーソルがある場所に get/setLoggerプロパティを作成します。
  • 追加using Castle.Core.Logging
  • 配置できるインスタンス変数のリスト内の場所を選択できますprivate ILogger _logger = NullLogger.Instance;
public class Person
{
    private string name;
    private int age;

    public Person()
    {
    }

    // cursor is here and you type "logger"
}

Visual Studio を入力loggerすると、次のコードが追加されます。

using Castle.Core.Logging; // Added by code snippet

public class Person
{
    private string name;
    private ILogger _logger = NullLogger.Instance; // Added by code snippet
    private int age;

    public Person()
    {
    }

    // Added by code snippet
    public ILogger Logger
    {
        get { return _logger; }
        set { _logger = value; }
    }
}
4

1 に答える 1

0

ここには 2 つの優れたチュートリアルがあります。方法: 基本的なコード スニペットを作成する&方法: コード スニペットを管理する

概要は次のとおりです。

  1. .snippet ファイルを作成します。これは、追加するコードと参照を含む XML ファイルです。基本的な例には、ショートカットを除くすべての要件が含まれています。
  2. コード スニペットを Visual Studio インスタンスにインポートします。
  3. 心ゆくまでご利用ください

よろしければ、例をまとめていただければ幸いです。

これをテストするためにスニペットを作成したので、次のようなものが必要になります。ニーズに合わせて編集する必要があることは自明です。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
    xmlns="http://schemas.microsoft.com/VisualStudio/2010/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>
        Log4Net instance using Castle.Core.Logging
      </Title>
      <Shortcut>logger</Shortcut>
    </Header>
    <Snippet>
      <References>
        <Reference>
          <Assembly>Castle.Core.Logging.dll</Assembly>
        </Reference>
      </References>
      <Imports>
        <Import>
          <Namespace>Castle.Core.Logging</Namespace>
        </Import>
      </Imports>
      <Code Language="CSharp">
        <![CDATA[private ILogger _logger = NullLogger.Instance;
        public ILogger Logger
    {
        get { return _logger; }
        set { _logger = value; }
    }]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
于 2012-09-25T15:27:09.903 に答える