Visual Studio使用技巧(转)
Visual Studio使用技巧(转)
1、ctrl+M ctrl+H :隐藏选中的段落
2、ctrl+M ctrl+M :展开段落
选择整个字符串:
在前双引号前双击,或ctrl+单击;
把代码放入工具箱:
选中一段代码,把代码拖到工具箱的”常规”选项卡下面,然后可以重命名代码段,以后往代码区域拖入就可以了。
exm:
/**
* (C)Neusoft Company
* Author :Hexuetao
* Email :hexuetao@neusoft.com
* Description :
* */
使用剪贴环:
Ctrl+shift+V :循环粘贴,直到找到你想要粘贴的内容为止。
复制、剪切、删除、交换一行代码:
Ctrl+C :复制当前行;
Ctrl+X :剪切当前行;
Ctrl+L :删除当前行;
Alt+shift+T :交换当前行与下一行的位置;
用表格方式编辑XML:
在xml中,右键,查看数据网络。
注:这种编辑模式在xml序列化的数据集时非常有用。编辑继承关系更深的xml文件时会产生位置错误的写满了碎片。
视图的切换:
Ctrl+PgUp 、Ctrl+PgDn :用于切换html视图和设计视图,xml视图和数据视图
转到定义后的后退、前进:
使用右键,可以”转到定义”(方法)。
Ctrl+_ :后退
Ctrl+shift+_ :前进(前进需要,使用过鼠标右键的”转到定义”之后才会有效果)
同一文件中创建分割窗口:
将同一个文件分成两个窗口显示,这样可以通过第1个窗口看着文件的上半部分,同时通过第2个窗口操作着文件的下半部分。
通过拖动下图中黑色线圈里面的小小矩形分割块来实现。
将文件拖入VS.Net中打开:
将.txt文件拖入VS.Net中:用记事本打开;
将.doc文件拖入VS.Net中:用word打开;
将图片拖入VS.Net中:用画图板打开;
将.pdf文件拖入VS.Net中:用Adobe reader代开
内建浏览器的使用:
使用vs.net内建的浏览器,调试、搜索东西的比较方便,不用再单独去代开浏览器。
打开方法:ctrl+alt+R
主页的设置:工具->选项->环境->web浏览器->主页
类视图关系的利用:
Ctrl+shift+C:打开类视图;
展开命名空间,在类或成员上,ctrl+c,即可提取该类或成员的完整的命名空间到剪贴板。
自定义调用堆栈:
堆栈跟踪是vs.net一步步执行程序时对当前方法调用继承关系给出的直观显示。堆栈跟踪会对一个有一个的方法嵌套调用给出记录。堆栈跟踪会将每个方法单独显示为一行,并带有行号和参数值。每一个方法的调用称为堆栈帧。
堆栈跟踪的一个优点在于你可以双击任意一行跳转到程序中该层调用方法的代码。于是你可以看到程序是如何执行到这一位置的,同事可以看到方法接受的参数值。
在堆栈窗口中右键,可以对堆栈窗口进行一些自定义。
将vs.net与一个运行中的进程链接:
按下F5对程序调试时,vs.net会对项目进行生成。更好的方式是以调试模式启动程序,即让vs.net与运行的程序之间建立链接,从而进行调试。在vs.net2005中,就是”附加到进程”这个功能,这种功能对web程序非常有用。你可以首先用外部浏览器打开有问题的页面,填写好必要的表单,然后链接该进程开始调试工作。
开发ASP.NET的程序,主要是附加到w3p.exe进程。
特定异常才中断:
Ctrl+alt+E :打开”异常中断选择”窗口;
特定条件下中断:
调试-窗口-断点,打开断点窗口,找到相应的断点,右键,条件,即可是指特定的条件。
查看代码定义:
视图->代码定义窗口。
只需将光标点到相应的类、方法等上面,稍等片刻,即可在代码定义窗口中查看相应类、方法等的集体代码。使用改方式,可以减少大量的”转到定义”操作。
导入和导出编辑器设置:
将编辑器设置导出保存下来,下次换了机器可以将保存下来的配置文件导入,从而实现个人设置的保存、移动。
工具->导入和导出设置,根据提示即可操作。
逐个字符地循环访问字符串:
字符串的特征是它总是具有字符数组的特征。
总是可以使用简单foreach循环逐个字符地对一个字符进行循环访问。
Foreach(char c in myString)
{
//……
}
也可以使用括号中的序数来指定字符串中的第几个字符。
Char myChar=myString[n];
将内联字符串用作对象实例:
输出一个字符串后,在后面跟一个点号,智能提示会为你显示出字符串变量一样所有可用的方法。
int n = "abcd".Length;
使用中间语言反编译器来查看.net程序:
中间语言反编译器(ildasm.exe):
C:"Program Files"Microsoft Visual Studio 8"SDK"v2.0"Bin"ildasm.exe
使用该工具能够看到程序集中定义的所有命名空间和类,也可以看到微软中间代码。
对ASP.NET web程序进行预编译:
当使用vs.net编译web程序时,所有的code-behind文件会被编译到程序集之内。第一次访问刚刚编译完的网站时,ASP.NET引擎需要再次进行编译,产生明显的延迟,所以需要用工具进行预编译,以消除第一次访问的延迟。
方法一:访问虚拟网址:http://localhost/MyWebApplication/preocmpile.axd
该虚拟网址具有一个http处理机制,它会遍历你的web程序,对所有的页面进行预编译以消除延迟。
方法二:使用aspnet_compiler.exe来自动完成所有预编译工作。
它位于C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727目录下,
使用一下方式运行该工具:
Aspnet_complier –v/MyWebApplication
这个命令会对整个程序进行预编译。
为web程序设置ASP.NET版本:
IISà虚拟目录à属性àASP.NET选项卡àASP.NET Version
手动清除系统缓存:
C:"WINDOWS"Microsoft.NET"Framework"v1.1.4322"gacutil.exe –cdl
再次抛出同样的异常:
如果一个异常要被记入日志,开发者通常会:
try
{
//…
}
catch(Exception ex){
Log(ex);
Throw(ex);
}
这样的代码是可以的,再次抛出的异常不会被忽略,但:重新抛出异常会是vs.net清空异常堆栈跟踪,也就是说堆栈跟踪属性里面的catch部分只会记录该异常的第一次抛出时间。
要在catch部分正确地抛出同一个异常,使用throw就可以了。
try
{
//…
}
catch(Exception ex){
Log(ex);
Throw;
}
这样就可以重新抛出异常,且不会在监视过程中清空堆栈跟踪。
我们每天都使用VS.Net进行C/S系统、B/S系统、Smart-Client应用的开发,无论你是熟练的程序员还是刚学.net的新手,都是安装了VS.Net进行开发,但你有没有想过怎样利用工具提供的一些便利功能,来提高我们工作的质量和效率呢。本文收集了VS.Net中一些浅为人知的技巧与功能,希望能对帮助你更好的利用工具。
1. 快速切换选项卡
2. 多文件查看
3. 查看同一文档的不同部分
4. 管理重复使用的代码片断
5. 使用渐进式搜索
6. 枚举容器中的控件,实现控件事件处理
/// 枚举容器中的控件,并增加文本框的事件处理委托
/// </summary>
/// <param name="pnl">container</param>
private void AddEventHandler(Control pnl)
{
foreach(Control ctrl in pnl.Controls)
{
if(ctrl is TextBox)
{
ctrl.Enter+=new EventHandler(this.txt_Enter);
ctrl.Leave+=new EventHandler(this.txt_Leave);
ctrl.TextChanged+=new EventHandler(this.txt_TextChanged);
ctrl.Validating+=new CancelEventHandler(this.txt_Validating);
}
if(ctrl.HasChildren)
AddEventHandler(ctrl);
}
}
/// <summary>
/// 实现文本框的Enter事件处理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txt_Enter(object sender,System.EventArgs e)
{
TextBox tb=(TextBox)sender;
tb.BackColor=Color.BlanchedAlmond;
}
/// <summary>
/// 实现文本框的Leave事件处理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txt_Leave(object sender,System.EventArgs e)
{
TextBox tb=(TextBox)sender;
tb.BackColor=Color.FromKnownColor(KnownColor.Window);
}
/// <summary>
/// 实现文本框的Validating事件处理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txt_Validating(object sender,System.ComponentModel.CancelEventArgs e)
{
TextBox tb=(TextBox)sender;
errorProvider1.SetError(tb,"");
if(tb.Text.Length==0)
{
errorProvider1.SetError(tb,"Please input any text!");
tb.Focus();
}
}
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
AddEventHandler(this);
}