私はいつもコードのブロックを中括弧で囲む必要があることに気づきます{}ですが、残念ながらそれはC#サラウンドコードスニペットに含まれていません。これは見落としのようです。独自のサラウンドスニペットを作成する方法も見つかりませんでした(他の種類のスニペットのみ)。
私も実際にResharperを実行していますが、この機能も持っていないようです(またはアクティブにする方法がわかりません)。
ifまたはelseの後に1行のコードを含めるというコーディング標準があります。中括弧で囲まれているので、Resharperに自動的にリファクタリングを行わせることができれば、さらに良いでしょう!
ここにそれを行うための迅速で汚いスニペットがあります。
インストールするには:
コードをSurroundWithBraces.snippet
として"<my documents>\Visual Studio Version\Code Snippets\Visual C#\My Code Snippets"
に保存します
使用するには:
テキストのブロックを選択します。Ctrl+K, Ctrl+S
を押します
マイコードスニペット、中かっこを選択
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.Microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>braces</Title>
<Shortcut>braces</Shortcut>
<Description>Code snippet to surround a block of code with braces</Description>
<Author>Igor Zevaka</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Code Language="csharp">
<![CDATA[{
$selected$ $end$
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
ReSharper 4.5では、中括弧は組み込みの「サラウンドテンプレート」の1つとして含まれています。
ReSharper -> Code -> Surround With... -> {}
または
ALT + R -> C -> S -> 7
または
Ctrl+E, U -> 7
(Visual Studioスキーム)
または
Ctrl+Alt+J -> 7
(ReSharper 2.x/IDEAスキーム)
どうですか:
Ctrl-X, {, Ctrl-V, }
それをマクロにバインドすることもできます。
VS2015には、テキストを選択して}と入力することでサポートする実験的な機能があります。
ここ 有効にする方法を参照してください。
そのための独自のカスタムコードスニペットを作成します。 snippyを使用して独自の http://blogs.msdn.com/gusperez/articles/93681.aspx を作成するか、XMLエディターを使用して作成することができます。
ファイルをMyDocuments\Visual Studio XXXX\Code Snippets\C#\ My CodeSnippetsに配置します
Ray Vegaの答えを完成させるために、Resharperを使用している人のために、Resharperコマンドへのショートカットを関連付けることができると思いました。
次の手順を実行してください(私はVS 2010を使用しています)。
[ツール]-> [オプション]に移動します
リストボックスで、[環境]を拡張し、[キーボード]をクリックします。
[次を含むコマンドを表示する]の下のフィールドに「resharper.resharper_surroundwith」と入力します
[ショートカットキーを押す]の下のフィールドにショートカットを入力し(例:Ctrl + R、Ctrl + Sを選択)、[割り当て]をクリックしてから[OK]をクリックします。
それでおしまい。コードを選択し、そのショートカットを入力して、すべてのResharperSurroundWithコマンドを表示できます。中かっこを入れるには7を入力するだけです。
次の方法でコードブロックを中かっこで囲むことができます
私はこれが古い質問であることを知っていますが、誰かに役立つことを願っています
編集:これは、DevExpressのDxCoreの一部であることがわかります。他の人が気付くようにここを離れますが、基本的に私は間違っていました。この特定のメニューをなくすには、「アドイン」ダイアログで無効にします。独自のメニューからdevexpressをアンロードすると、基本サポートライブラリではなく、CodeRush/Refactorがアンロードされます。
これは(not!)組み込みの方法です。キーをバインドできるかどうかはわかりません。また、この埋め込みは、1行だけを選択した場合は何もしません。そのため、「if」の後の1行にコンテンツがある場合は、おそらく正しく機能しません。
注:DexExpressをインストールしていますが、このメニューはロードされていなくても表示され、インストールされていなくても表示されると断言できます。しかし、私が間違っていると...
これは正直なところ、r#に依頼するのが最善のように思えますが、おそらくユーザーの貢献ですか?