Visual Studio是如此庞大的产品,即使经过多年的努力,我偶尔偶然发现了一种新的/更好的方式来做我甚至不知道的事情或事情.
例如-
Crtl+ R,Ctrl+ W表示空格.编辑Python构建脚本的必要条件.
在" "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor"
创建名为Guides的字符串"下,使用值"RGB(255,0,0),80"在文本编辑器的第80列处显示红线.
您偶然发现了哪些其他隐藏的功能?
按下ALT进行选择 - 选择一个正方形文本而不是整行.
跟踪点!
在一行代码上放置一个断点.打开Breakpoints窗口并右键单击新断点.选择'When Hit ...'.勾选"打印消息"复选框,每次执行代码行时,Visual Studio都会向调试输出打印一条消息,而不是(或同样)打破它.您还可以让它在通过该行时执行宏.
您可以将代码拖到ToolBox.试试吧!
单击标识符(类名,变量等),然后单击F12"转到定义".我总是惊讶于我看到有多少人使用较慢的右键单击 - >"转到定义"方法.
编辑:然后你可以用Ctrl+ -跳回你原来的位置.
CTRL + SHIFT + V将在剪贴板中循环,Visual Studio会保留副本历史记录.
Sara Ford提供了许多可爱的提示:http://blogs.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tip+of+the+Day/default.aspx
但我最喜欢的是Code Snippets,Ctrl+ .添加using
在Visual Studio 2008 C#Keybinding海报中查看一个很棒的列表:http://www.microsoft.com/downloadS/details.aspx? familyid = E5F902A8-5BB5-4CC6-907E-472809749973&displaylang = en
CTRL-K, CTRL-D
重新格式化文档!
这是在VB键绑定下,不确定C#
在quickwatch或watch窗口中调试数组的次数是多少次,只有visual studio会显示第一个元素?在定义的末尾添加",N",使工作室也显示下一个N项.IE"this-> m_myArray"变为"this-> m_array,5".
增量搜索:在打开源文档(CTRL + I)并键入要搜索的单词时,可以再次点击(CTRL + I)以查看与您的输入匹配的单词.
您可以在监视窗口中使用以下代码.
@err - display last error @err,hr - display last error as an HRESULT @exception - display current exception
Ctrl-K,Ctrl-C在开头用//注释一个文本块
Ctrl-K,Ctrl-U在开始时用//取消注释文本块
不能没有它!:)
阻止调试器进入琐碎的函数.
当您在调试器中单步执行代码时,您可以花费大量时间进入和退出您不特别感兴趣的函数,例如GetID()或std :: vector <>(),选择一个C++示例.您可以使用注册表使调试器忽略这些.
对于Visual Studio 2005,您必须转到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\NativeDE\StepOver,并为要排除的每个函数或函数集添加包含正则表达式的字符串值; 例如
std :: vector.*::.*
TextBox :: GetID
您也可以为个别例外覆盖这些.例如,假设您确实想要进入vector类的析构函数:
的std ::向量.*:: \〜*= StepInto
您可以在http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx找到其他版本的Visual Studio的详细信息.
Ctrl-F10:在调试过程中运行到光标.花了我很多年才找到这个,我一直都在使用它;
Ctrl-E,Ctrl-D:应用标准格式(您可以定义).
TAB主要功能.
如果您知道代码段密钥名称,请编写并单击双选项卡.例如:写
foreach
然后单击Tab键两次
foreach (object var in collection_to_loop) { }
如果你写任何事件,请写在这里
Button btn = new Button(); btn.Click +=
然后单击Tab键两次
private void Form1_Load(object sender, EventArgs e) { Button btn = new Button(); btn.Click += new EventHandler(btn_Click); } void btn_Click(object sender, EventArgs e) { throw new Exception("The method or operation is not implemented."); }
btn_Click函数自动写入
在XAML编辑器中,编写任何事件.例如:
MouseLeftButtonDown
然后单击选项卡,
MouseLeftButtonDown=""
然后MouseLeftButtonDown="Button_MouseLeftButtonDown"
在Button_MouseLeftButtonDown
创建的代码段方法中再次单击选项卡
.
萨拉福特将这个市场逼入绝境.
http://blogs.msdn.com/saraford/default.aspx
更多的Visual Studio提示和技巧比你可以动摇一样.
其他一些:
Visual Studio 2005和2008 3个月试用版功能齐全,可以通过在打开VS之前设置系统时钟来无限期(永久)使用.然后,当VS打开时,再次向前设置系统时钟,这样您的日期时间就不会搞砸了.
但这真的是盗版,我不推荐它,特别是当任何拥有.edu地址的人可以通过Microsoft Dreamspark获得VS2008的全功能Pro版本时.
您可以使用Visual Studio打开第三方可执行文件,并浏览存储在其中的嵌入式资源(对话框,字符串表,图像等).
调试可视化器并不是一个"隐藏"功能,但它们有点被忽略,并且非常有用,因为除了使用提供的可视化工具之外,您还可以为特定数据集自行滚动.
调试器的"设置指令指针"或"设置下一个语句"命令.
条件断点(正如KiwiBastard所说).
您可以使用Quickwatch等来评估变量的值,但不仅要评估该变量的运行时表达式.
T4(文本模板转换工具包).T4是Visual Studio内置的代码生成器
自定义IntelliSense下拉高度,例如显示50个项目,而不是默认的IMO非常小(8).
(为此,只需在下次看到下拉列表时调整下拉列表,Visual Studio将记住下次打开下拉列表时选择的大小.)
今天发现:
Ctrl + .
打开用于重构的上下文菜单(然后可以通过您刚重命名的类/方法/属性的带下划线的最后一个字母访问 - 用于菜单或"Ctrl"+".")
很多人不知道或使用调试器是最充分的 - IE只是用它来停止代码,但是右键单击红色圆圈并且还有很多选项,例如中断条件,运行代码中断.
您还可以使用调试器在运行时更改变量值,这是一个很棒的功能 - 保存重新运行代码以修复愚蠢的逻辑错误等.
行转置,Shift-Alt-T
交换两行(当前和下一行)并将光标移动到下一行.我就喜欢.我甚至写了一个宏,它再次改变位置一行,执行行转置并再次改变行位置,所以它看起来像我用前一个(反向行转置)交换当前行.
单词转置,Shift-Ctrl-T
在开发C++时,Ctrl-F7仅编译当前文件.
使用解决方案资源管理器自动同步当前文件.因此,不必查看文件在项目结构中的位置
工具 - >选项 - >项目和解决方案 - >"在解决方案资源管理器中跟踪活动项目"
编辑:如果这对您来说太烦人,那么您可以使用Dan Vanderboom的宏通过击键按需调用此功能.
(注:取自Jerry的评论).
FormsDesigner中的文档大纲(CTRL + ALT + T)
快速控制重命名,订购等等!
我不确定它是否"隐藏",但没有多少人知道它 - 伪数据.在调试时非常方便,我的@RER,hr一直在我的观察窗口.
Ctrl-Minus,Ctrl-Plus,导航前后最近的位置(仅打开文件).
这是我学到的东西(对于C#):
您可以通过按Control +]将光标移动到右手大括号中的左大括号.
我在SO主题上学到了这一点,这是一个骗局:
Visual Studio .NET调试器的"隐藏的秘密"?
我不经常使用它,但我喜欢:
ctrl-alt + mouse select
要在矩形块中进行选择,要"阻止"边界.
如评论中所述,
alt + mouse select
只是一个普通的矩形块.
CTRL + Shift + U - >大写突出显示部分.CTRL + U - >小写突出显示的部分非常适合在将SQL语句放入字符串查询时使其看起来正确.
对于你在网上找到的一切都很重要的代码也很有用.
要将任何数据块显示为n字节"数组",请在Visual Studio的QuickWatch窗口中使用以下语法:
variable, n
例如,要查看名为foo
256字节数组的变量,请在QuickWatch窗口中输入以下表达式:
foo, 256
在查看非空终止的字符串或只能通过指针访问的数据时,这尤其有用.您可以使用Visual Studio的内存窗口来获得类似的结果,但使用QuickWatch窗口通常更方便快速检查.
鼠标中键单击编辑器选项卡关闭选项卡.
然后按CTRL-D键入"> of"然后输入文件名.如果标准工具栏已启动,则crtl-d会让您进入查找组合框,现在您的解决方案中的文件下拉列表与您键入的文件名的开头相匹配.选择一个,它将打开它.对于包含大量目录的大型解决方案而言,这种开放式文件的替代方案非常棒.
Ctrl+ Delete删除整个单词(转发)
Ctrl+ Backspace删除整个单词(向后)
以下是众所周知的,但我错了说它尚未列出?
Ctrl方法调用括号内的+ Shift+ Space为您提供参数信息.
在调试器中将文本选择拖放到Watch窗口.
.NET调试器允许您提供对象标识符,并在会话期间稍后通过这些标识符引用它们.要执行此操作,请右键单击引用Autos/Locals/Watch窗口中对象的变量(或表达式),或在工具提示中,然后选择"创建对象ID".ID是连续的整数,从1开始,后缀为"#" - 例如,1#
它将是您创建的第一个ID.
创建ID后,如果对象与给定ID相关联,则它将显示在括号中.
您可以使用1#
在ID通常使用表达式的任何位置引用对象 - 在Watch窗口中,条件断点的条件,等等.当你想在某个特定对象的方法上设置断点时最方便 - 如果你可以首先跟踪对象创建,或者引用这个特定对象的其他地方,你只需为它创建ID,然后设置带有条件的新断点this==1#
.
我刚才偶然发现了这个.当你在一条线上的任何地方并按Ctrl+时Enter,它将在当前行上方插入一个新行并将光标移动到那里.
此外,如果按Ctrl+ Shift+ Enter,它会插入一个新行下方的当前行,移动光标有(类似End,Enter)
在调试期间,选择一个标识符或表达并将其拖动到监视窗口.
节拍不得不从头开始写:)