Ctrlキーとカーソルキーを押したときにVisual StudioにCamelCaseを認識させる


130

CamelCaseを理解するためにVisual Studio 2008を構成する方法はありますか? 具体的には、変数または型の名前のサブセクションに移動Ctrl + rightまたはleftカーソルを移動できるようにしたいと考えています。

つまり、私のカーソルがこの行の先頭にあった場合:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

そして私がヒットCtrl + right、私は「にジャンプしたいのですが、Namedむしろ、変数名の先頭よりも、クラス名に」。もう一度叩いたら「Example」に行きたいです。私はそれが理にかなっていると思います。

私はEclipseでこのナビゲーション機能をかなり使用しましたが、あまりに根付いているものを学習するのは難しいと感じました。


Resharperはその機能をサポートしています。
Petter Wigle 2008年

Resharperはそれを行います。同じことをするためにあなた自身のアドインを書くことができると思います。
オープンカラー

回答:


132

Resharperを提案してくれた方に感謝します。それをもっと愛する別の理由を私に与えます。これがどこにあるかについて具体的に言うと-JetBrainsはCamelHumps(かわいい)と呼んでおり、メニューを使用してオンに切り替えることができます。

Resharper->オプション->環境->エディター->エディターの動作-> CamelHumpsを使用

...古いバージョンのResharperでは、そうです。

Resharper->オプション->エディタ-> CamelHumpsを使用


2
CameHumpsがオンになっている場合でも、単語全体を選択するオプションはありますか?現時点では、単語を選択するには右または左に数回押す必要があります。私を捕まえてほしい
Ozkan 2016年

CamelHumpsがオンのときに単語全体をすばやく選択するには、選択範囲の拡張ショートカットキーを 2回(Ctrl+ Alt+ RightまたはCtrl+ W押します
パン

107

2008年11月25日以降にこのページを偶然見つけた人( ReSharperやCodeRush の無料版はもう不要です)に、次の無料の拡張機能がこの機能を追加します。Olle Westmanによるサブワードナビゲーション

(または、VSTricks拡張機能には、気の利いた機能のリストにサブワードナビゲーションが含まれています。LauriVasamaが作成した別のサブワードナビゲーション拡張機能もあり、この回答が使用するOlle Westmanのものと混同しないようにしてください。)

サブワードナビゲーションプロジェクトページには、次のように記載されています。

キーボードバインディングでEdit.Subwordを検索して、設定を行います。

ここに私がそれを設定する方法がありますVisual Studio 2019


  1. 移動ツール>オプション>環境>キーボード

  1. Use new shortcut in、[ テキストエディタ]を選択します

  1. Show commands containing、「Edit.Subword」と入力します。これにより、以下のコマンドがリストされたオートコンプリートフィールドがポップアップします。

  1. ショートカットキーを設定する次のコマンドのいずれかを選択します。選択したら、残りの番号付き手順に従います。次に、に戻ってStep 4別のセットを設定します。
    • Edit.SubwordNext
      • キャメルケースを右に移動します[ Alt + Right Arrow]
    • Edit.SubwordPrevious
      • 左にキャメルケースを横切る[ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • 右にあるキャメルケースを選択します[ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • 左のキャメルケースを選択します[ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • キャメルケースを右に削除します[ Alt + Delete]
    • Edit.SubwordDeletePrevious
      • 左のキャメルケースを削除します[ Alt + Backspace]

注:これらのサブワードナビゲーションコマンドをこれらの新しいショートカットキーに割り当てる場合は、事前に維持したい既存のショートカットキー機能を別のキーに設定して保持します。デフォルトでインストールされているショートカットキーと競合しないようにしてください。


  1. Press shortcut keysショートカットキーを押します

  1. Assign既存のショートカットをクリックして上書きします

2
ヘッドアップをありがとう!これはうまく機能し、提示されたソリューションの中で最もオープンです。
チェスターハスク2015年

2015年以降を意味しました。後述するように、私はこれをVS 2012で使用しました。このことについては、記事で明らかにします。ありがとう。
jsea

2
セットアップの詳細を提供する上で特に優れた回答。私は間違いなく次/ PreviousExtendの説明に感謝
skia.heliou

9
2015年に、Global。*コマンドではなく、TextEditor。*コマンドを上書きする必要がありました。ALT + RIGHTはすでに何か他のものにバインドされていました。
セスフラワー

2
@yanyankelevich VS2019でテストしたところ、うまくいきました。ただし、拡張機能マネージャーでは「サブワードナビゲーション」と呼ばれる2つの拡張機能があることに気付きました。Olle Westmanが作成したものが必要です。私はそれを明記するように私の回答を更新し、それがVS2019で機能することに注意しました。
jsea

22

ReSharperをインストールしている場合は、CamelHumpのVisual Studioキーボードショートカット「Alt-Right」と「Alt-Left」を設定することもできます。「ctrl-right」と「ctrl-left」の標準的なVisual Studioの動作は失われません。

  1. [ ツール]-> [オプション]から[Visual Studio オプション]ウィンドウを開きます
  2. 展開環境をしてまでスクロールキーボード
  3. ショーを含むコマンドボックスを、「こぶ」と入力します。CamelHumpsに関連するすべてのコマンドが表示されます。 キャメルハンプ
  4. リストからコマンドを選択し、[ ショートカットキーを押す ]テキストボックスにキーマッピングを入力して、目的のキーマッピングにコマンドをマッピングし、[ 割り当て ]をクリックします。

警告:

  • グローバルではなく、テキストエディターのマッピングを割り当てます。
  • 確認してください使用CamelHumpsの ReSharperのからオプション- >オプション- >エディタ- >エディタの動作がされてオフに

詳細はこちら:http : //davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/


4
あなたはちょうど私の日を作りました。ラクダのこぶは、Eclipseを使用する誰もが証明するように、長い識別子を持つピンになる可能性があるため、完璧な解決策です
chrisb


2

Visual Studioはこの動作をサポートしていません。ただし、DevExpresの CodeRush!製品は、このようなナビゲーション(Alt-Left&Alt-Rightを使用)に加えて、ナビゲーションを支援する他の多くの機能をサポートしています。CodeRush!製品は、リファクタリングツールにもバンドルされています。また、無料のCodeRushも提供しています。&Refactor Express製品ですが、Camel CasingナビゲーションがExpress製品の一部であるかどうかはわかりません。



-1

Windows環境でCtrl + RightとCtrl + Leftが通常の方法で使用されているように見えるため、Visual Studioがこの機能を内部的にサポートしているとは思いません。しかし、それはおそらくある種の拡張機能やプラグインで可能です。


6
他の人が質問に答えられるようになるかどうかを推測することは、実際にはその質問に対する答えではありません。
GregNash 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.