2011-10-06 16 views
7

私は伝統的にVB.NETで作業していますが、C#で最新のプロジェクトをコーディングするように求められています。Visual Studio 2010 - VB.NETエディタよりも面倒なC#エディタ

どちらの言語でも動作するので、これは問題ありません。過去にC#コードをVBで頻繁にVBに変換しなければならなかったため、どちらの開発方法も不安です。

私の問題はVisual Studioエディタであり、C#コードを書くときにはVB.NETコードの作成中に伝統的に自動化されていたタスクの数が不足しています。領域を作成するVB.NETで例えば

、新しい#regionまたは関数を作成...

はで + R、の点インテリセンスキックを入力し、私#Regionを示すことを含みます。私はスペースを押して、#Regionが自動的に完成したので、地域名を入力してからを入力してと入力して、#End Regionを自動的に追加します。

のC#で

、I型 + R ...と灘..私はどちらかCtrlキー + K + Xをクリックして、達成するためのスニペットのリストから#Regionを選択する必要があります同じ効果。

同様に、VB.NETで関数を記述すると、オートコンプリートによって構造が数秒で作成されますが、C#では手作業で括弧などを追加して開発プロセスに貴重な時間を追加する必要があります。

これらはほんの2つの例ですが、VB.NETエディターが提供するショートカットがC#エディターよりもはるかに高速にコーディングできる場所がたくさんあります。 私は実際にはC#がVB.NETよりも "良い"と評価されているので、実際はかなりショックです。

とにかく怒ります。

私の質問は、VB.NETエディタに提供されたのと同じ方法でC#エディタでオートコンプリートを許可するプラグインはありますか?

+0

私は、Visual Studio VB.NETチームの人が、そのチームが探していないときにC#側の機能を無効にすると確信しています。このような一見シンプルなものについて何か噂が聞こえます。 –

+2

C#では、#regionとヒットタブを入力すると#endregionが挿入され、編集ボックスにカーソルが置かれて名前が入力されます。また、テキスト行を選択し、右クリックして[Surround with ...]を選択すると、#regionがオプションの1つになります。だから、VBエディタとは少し違うかもしれませんが、それほど多くはありません。メソッドの場合、コードスニペットを作成してスニペットを入力し、Tabキーを押して完全に展開することができます。 –

答えて

10

Resharper ............................................. ............................

+0

それはトリックを行うかもしれないように見えます..明日の朝にそれを試してみましょう。ありがとう! (そしてそれがうまくいくと答えると問題になる):) – Peter

2

ツールの下でいくつかの掘削をする必要があるように聞こえる...オプション>テキストエディタ> C#を開き、そこの設定を確認してください。 VB.NETとして環境を最初に設定した場合は、設定した場合には見逃されていることがあります。

また、Visual Studio Power Toolsには、いくつか余分な自動補完ブラケットオプションがあり、他にも役立つ機能がいくつかあります。

+0

私はオプションの周りを見ていましたが、関連するものはすべて目がくらっているようですが、(私はとにかく見ることができませんでした)前述した。 – Peter

+0

私の意見は、私は括弧がいくつかのオプションで完了して自動挿入するオプションの下で設定可能だと思った、と思う。スニペットのためのCtrl-K、Xには、あなたが言及した地域項目や他のものがあります。しかし、はい、それは間違いなく欠けている –

3

私はあなたがVB.NETでのコーディングに慣れていると思います。 C#がVB.NETよりも優れているとのあなたのコメントについては、言語とエディタを区別する必要があると思います。なぜなら、2つは本質的に結びついていないからです。

C#はVBと同じ自動補完機能を提供していない可能性があります。NETがありますが、私は生産性があなたがその言語にどれくらい快適であるかということになると思います。これらの自動補完機能がなくても、VB.NETでできるよりもはるかに高速にC#をコーディングすることができます。これは、C#の動作に慣れていて、エディタを使用してフローする方法を知っているからです。

私の正直な意見では、いずれかの言語のコーディングが生産性にどのように影響するかを評価する前に、C#でコーディングすることに慣れておく必要があると思います。

EDIT

あなたはReSharperのと同等のフリー何かを探しているなら、私はCodeRush Xpressでご覧になることをお勧めします。また、フルバージョンのCodeRushがあり、Resharperより100ドル安いです。

0

私はCodeRushの大きな賛同者で、DevExpressです。Resharperとほとんど同じ目的です。 Code Rushでは、リージョンを配置したい場合は、リージョン解除したいコードを選択してCtrl-3を押します。そのリージョン名にキャレットを挿入してリージョンを作成します。その動作も非常にテンプレート(ステロイドのVSコードスニペットに似ています)に関するすべての設定が可能です。

エクスプレス版にはVisual Studio 2010の機能がほとんどないため、これは投資です。これもReSharperでもかまいませんが、おそらく両方ではありません。私はどちらも一点に設置していたので、一緒にうまく一緒に遊んでいないことを思い出しているようです。

2

ReSharperは、Visual Studioが既にVB.NET用に無料で提供していることをC#に多くしています。

1

は、ここでプライベートメソッドを挿入するためのコードスニペットです:

<?xml version="1.0" encoding="utf-8" ?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
     <Header> 
      <Title>Private Method</Title> 
      <Shortcut>pvtm</Shortcut> 
      <Description>Code snippet for a private method</Description> 
      <Author>Your Name Here</Author> 
      <SnippetTypes> 
       <SnippetType>Expansion</SnippetType> 
      </SnippetTypes> 
     </Header> 
     <Snippet> 
      <Declarations> 
       <Literal> 
        <ID>type</ID> 
        <ToolTip>Return Type</ToolTip> 
        <Default>void</Default> 
       </Literal> 
       <Literal> 
        <ID>name</ID> 
        <ToolTip>Method name</ToolTip> 
        <Default>MyMethod</Default> 
       </Literal> 
      </Declarations> 
      <Code Language="csharp"><![CDATA[private $type$ $name$() 
    { 
     $selected$ $end$ 
    } //end method $name$]]> 
      </Code> 
     </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 

私はそれを向上させることができると確信しているが、その後あなただけのpvtmを入力し、タブと出来上がりを打つことができます!あなたは完全な方法を得る。 VBエディタと同じではありませんが、かなり近いです。いくつかは良いと言うかもしれません。

これは古いスニペットで、VS2010でも動作すると思いますが、試していません。

関連する問題