18

私はいくつかのコードを書き、Ctrl+を試してTビジュアルスタジオで転置機能をチェックしました。

CTRL+ Shift+Tがこのトランスポーズの逆を行うかどうかを確認するために... Ctrl+ Shift+を押してみTました。そして、それはすべてを台無しにしました...

Ctrlこの++が(特にブロックで)正確に何をするのか誰か教えてもらえますShiftか?T

例えば:

public string returnDateTimeToMyformat(DateTime dt)
{
    dt = dt.AddYears(-1);
    return dt.ToString("yyyy MM dd HH mm ss");
}

に:

string returnDateTimeToMyformat publicdtDateTime (dt
{
    dt = )1AddYears(-.return;
    dt ).ToString("yyyy MM dd HH mm ss");
}

(「public」の直後にカーソルを置き始めました)

4

4 に答える 4

20

CTRL-Tカーソルの両側にある 2 つの文字を入れ替えるので、その反対は ...

それを待つ ...

CTRL-T

:-)

CTRLSHIFTTカーソルの後の 2 つの単語を入れ替えます。

それがあなたのブロックに対して行っていることは、かなり奇妙に思えます。各行の複数の部分に対してそれを行っているようです。私の唯一のアドバイスは(壁に頭をぶつけると痛いと訴えた患者に医者が言ったように):そうしないでください。

于 2011-04-05T06:36:15.787 に答える
7

他の人が指摘したように、カーソルに続く2つの単語は転置され、カーソルは転置された単語の後に配置されます。ただし、Visual Studio 2010 は、「単語」を考慮する際に、少なくともコンマやその他の句読点を無視しているように見えます。このユーティリティの 1 つは、列挙型のようなものを並べ替えることができることです。例えば、

typedef enum myEnum
{
  ThingOne,
  ThingThree,
  ThingTwo
};

カーソルを ThingThree の近くに置き、 を押しCtrlShiftTて取得します。

typedef enum myEnum
{
  ThingOne,
  ThingTwo,
  ThingThree
};

列挙型の別の順序が良いと判断した場合、これは良いことです。これを使用して、ばかげた比較を支援したり、より優れたコーディング標準にすばやく簡単にフォーマットしたりすることもできます。

if ( ptr == NULL ) { /* stuff */ }

誤って「ptr = NULL」を簡単に書き込む(または読み取る)ことができるため、悪いと見なされます(独自の行に「if」があることも悪いことを気にしないでください)。あなたはより良いです

if ( NULL == ptr ) { /* stuff */ }

ですから、最初に間違えた場合は、問題のある表現を選択して...CtrlShiftT助けてください!

…うん、まあ、これはあまり役に立ちません。

編集: うーん、カーソルが句読点記号 (左括弧など) の直前に置かれると、動作が少し奇妙になることを追加する必要があります。したがって、CtrlShiftTコード スニペットを繰り返し押すと、奇妙な結果が得られます。カーソルの後の空白で終わる文字列を次の英数字の「単語」と交換し、その間の句読点をスキップしているようです。ただし、結果は読みにくいことが多いため、それが正確なパターンであると主張するつもりはありません。

于 2011-11-14T12:54:40.830 に答える
2

このウェブサイトによると:

カーソルに続く 2 つの単語を入れ替えます。(たとえば、|End Sub は Sub End| に変更されます。)

残っている唯一の質問は、おそらく次のとおりです。なぜ?? 変数に値が割り当てられているコード行のブロックがある場合に便利になるかもしれません。(例: Load/Save) 逆の機能で、逆の代入をしたい、そんな時にこのショートカットが使えるかも…

于 2011-04-05T06:28:03.083 に答える