在Visual Studio 2012中移动行向上/向下快捷键
在VS2010中,我有一个设置Alt + Up / Down的快捷方式来上下移动代码,就像我在Java日常使用的Eclipse一样。
现在,因为电动工具和macros(这是我如何在VS2010中设置这个快捷方式)在VS2012中不可用,我怎么得到这个工作?
我曾经看到有人提到Resharper可以做到这一点,但是对于火和水的爱,我找不到命令列表中的命令名称可以做到这一点。 我已经尝试ReSharper_MoveUp / MoveDown,并不会上下移动行:
这会上下移动文本块。 我只是想逐行上下,没有那种花哨的逻辑。 之前
ALT + 向上后 (当光标在WriteLine行上)我想看到这个:
我已经看到了这些线程: 在Visual Studio中,eclipse的ALT + UP / DOWN(移动线)的等价物是什么? , Visual Studio:热键来上下移动行,并通过最近的变化 ,但build议的解决scheme没有在VS2012工作。
任何其他的想法?
UPD 2012年11月7日: 。 扩展正在赶上Visual Studio 2012.现在我知道至less有三个扩展提供了这个function:
- MoveLine扩展 。 链接由卡尔G提供
- 移动线路扩展 ,修改为2010版。 由gius
- 生产力电动工具2012 。 实际上还没有尝试过这个,但是这个博客文章指出这个行是向上/向下移动的
UPD 2012年11月15日:只是偶然发现另一个扩展,声称它在这里做什么需要。 还没有尝试过: LineMan Extension
UPD 2015年5月10日刚刚安装VS2015 RC,这是内置已经:
更新:生活方式PowerTools VS2012现在可用,并提供此function(以及另一个人喜欢的, Tools.AddEndTokenAtTheEnd
。)
MoveLine扩展 (与VS 2012兼容;我必须手动重新启动我的VS才能看到VS的键盘快捷工具中的命令。)
对于那些使用Visual Studio 2013(或者以上版本)来解决这个问题的人来说,这个function是直接embedded到程序中的。 只需使用Alt Up和Alt Down 键来移动光标 – 或者选定的行 – 向上和向下。
如果你想在工具 > 选项 > 环境 > 键盘重新绑定它,键是Edit.MoveSelectedLinesUp
和Edit.MoveSelectedLinesDown
。 您可能需要先从其他现有密钥中删除您的新组合。
安装ReSharper。
打开工具 – >选项 – >环境 – >键盘(如图所示)
- find“ReSharper.ReSharper_MoveUp”
- 在“使用新的快捷方式:”中select:“文本编辑器”
- 点击“按快捷键:”然后按快捷键(例如Alt + ArrowUp)
- 按“分配”button与“ReSharper.ReSharper_MoveDown”相同
PS适用于单行和多行select,但在移动1行后删除select。 希望有一种方法可以在一个select中多次移动多行。
如果您有Resharper,则可以按Ctrl + Shift + Alt + ↑将当前行移动。 或Ctrl + Shift + Alt + ↓向下移动一行。
这适用于Resharper 7中Visual Studio键盘scheme的VS 2012 Premium(准确地说是7.0.97.60)。
编辑:这被映射到'ReSharper.ReSharper_MoveUp'/'MoveDown'命令。
您可以使用移动线命令扩展名。
只要遵循公式349的评论:
我现在能够在2012年完成这项工作。
将程序包重命名为.zip并将所有文件解压缩到一个文件夹中。 编辑extension.vsixmanifest文件并查找SupportedProducts XML节点。 将版本=“10.0”更改为版本=“11.0”。
重新压缩文件夹内容并重新命名为.vsix。 太棒了!
虽然很多人似乎都在推荐misc。 Visual Studio扩展和Resharper,我想指出,有一个本地热键,实现了这个目标。 我来到这个问题试图find答案,因为我的Resharper用他们的MoveUp和MoveDown版本取代了我的默认热键。
虽然Resharper的热键确实使事情上下移动,但它们并不是原来的海报所寻找的,而且也不是我想要的。 这些热键移动方法和代码块, 而不是单独的行。
Visual Studio有两个热键命令可以向上或向下移动选定的行。 这些热键是:
- Edit.MoveSelectedLinesDown
- Edit.MoveSelectedLinesUp
我正在使用Visual Studio 2013,所以我不知道这些存在于旧版本。 如果2012年没有这些热键,那么扩展是唯一的解决scheme。
无论哪种方式,我有一个问题在视觉工作室的名单中find确切的热键,我花了很长时间才find这些,所以我希望我的解决scheme设法帮助其他人在类似的情况下我自己的。
Shift + Del然后按Ctrl + V
Shift + Del在光标所在的当前行上进行剪切 (与Ctrl + X相同)。
然后你可以使用Ctrl + V将它粘贴到你喜欢的任何地方。
好的是你不需要select完整的当前行 ,只需要将光标定位在行上即可。
使用这种快捷方式的一个缺点是,你将无法看到在你眼前活跃的线(上或下)。
ReSharper的向上移动和向下移动的快捷方式是聪明的 – 它不会移动当前行(这很容易导致代码被破坏),而是将当前语句在组成方法体的语句列表中上下移动。 这比仅仅移动一行代码更加强大。
但是这并不能帮助你在if
语句块中得到你的声明。 在这里你需要做两件事情之一。
首先,移动if
语句块上方的语句,然后使用Ctrl + Shift + Alt + Right将其在范围内向下推。 声明现在将在if
块内部,并且可以上下使用以在其中移动它。 您也可以使用Ctrl + Shift + Alt + Left在范围之外,在if
块之外。
或者,您可以将文本插入符号放在if
块的右大括号的外部,并使用Ctrl + Shift + Alt + Down将大括号向下移动,逐步执行以下语句(包括它们在if
块中)。
这些键可以做更多的事情,而不仅仅是移动一个语句。 如果将文本插入符号放在方法或类声明上,则“ 向上”和“ 向下”将上下移动整个方法或类声明。 如果将文本插入符号放在方法的参数列表中, 左右 键将重新排列各个参数(然后Alt + Enter可以调用Change Signature重构)。
帮助页面中的更多详细信息。
在Visual Studio 2017(至less)我有下面