Visual Studio CTRL + SHIFT + T转置 - 它有什么作用?

时间:2011-04-05 06:24:01

标签: visual-studio keyboard-shortcuts transpose

我写了一些代码并尝试了 Ctrl + T 来检查visual studio中的转置功能。<​​/ p>

只是检查 CTRL + Shift + T 是否反向执行此转置...我尝试按 Ctrl < / kbd> + 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");
}

(我开始使用光标&#39; public&#39;)

4 个答案:

答案 0 :(得分:18)

由于 CTRL-T 交换光标两侧的两个字符,因此它就是......

  等等......

CTRL-T

: - )

CTRL SHIFT T 转换光标后的两个单词。

它对所做的事情似乎相当奇怪。它似乎是每行的多个部分。我唯一的建议是(正如医生对患者抱怨说将头撞在墙上时疼痛):不要这样做。

答案 1 :(得分:7)

正如其他人所指出的那样,光标后面的两个单词被转置,光标放在已经转置的单词之后。但是,在考虑“单词”时,Visual Studio 2010至少会出现忽略逗号和其他标点符号的情况。这样做的一个用途是,你可以重新排序像枚举这样的东西。例如,

typedef enum myEnum
{
  ThingOne,
  ThingThree,
  ThingTwo
};

将光标放在ThingThree附近,然后按 Ctrl Shift T 获取:

typedef enum myEnum
{
  ThingOne,
  ThingTwo,
  ThingThree
};

如果您认为枚举的不同顺序更好,这可能是一件好事。您还可以使用它来帮助进行防止白痴的比较和/或快速轻松地将它们格式化为更好的编码标准。

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

被认为是错误的(不要介意在自己的行上使用“if”也很糟糕),因为你可以轻易地写出(或读取)“ptr = NULL”。你最好用

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

所以,如果你第一次做错了,只需选择有问题的表达式并按... Ctrl Shift T 进行救援!

...是的,好的,所以这件事没那么有用。

编辑:嗯,我应该补充说,当光标放在标点符号(例如左括号)之前时,行为有点怪异,因此当你反复按 Ctrl时得到的奇怪结果 Shift T 在您的代码段中。它似乎只是在光标之后用下一个字母数字“单词”交换任何以空格为终止的字符串,跳过其间的任何标点符号。但结果往往难以阅读,所以我不会声称这是确切的模式。

答案 2 :(得分:2)

根据this网站:

  

转置后面的两个单词   光标。 (例如,| End Sub   将被更改为读取Sub End |。)

剩下的唯一问题可能是:为什么? 当你有一个代码行块,其中变量被赋值时,它可能会变得很方便。 (例如加载/保存)在相反的功能中,您想要执行相反的分配,也许这种快捷方式可以在这种情况下使用...

答案 3 :(得分:1)

有了这个https://plotly.com/python/interactive-html-export/很酷的扩展名 CTRL + SHIFT + T ,您可以重新打开最后一个关闭的文档。就像在Web浏览器中一样。