我写了一些代码并尝试了 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;)
答案 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浏览器中一样。