C#和C++代码折叠功能

来源:互联网 发布:仿真优化软件 编辑:程序博客网 时间:2024/05/22 00:50
最近写毕设的程序,遇到个很揪心的问题就是当代码达到一定规模时,代码会变得非常紊乱,既不方便阅读,也不方便调试,更不方便查错。有一点要强调,如果你把你的代码写成好多的过程或方法,那么VS IDE是可以把每个过程或方法折叠或是展开的,这一定程度上能够缓解代码的紊乱,但是当你的程序规模达到一定规模的时候,会遇到这种情况,那就是在一个里方法也有很长的代码,这个时候没有了代码的折叠和展开功能,你是否觉得很不爽呢??反正我是这么觉得的(这种情况微软哪一帮VS团队的开发人员不会没考虑到,毕竟人家写的程序可是比我们大多数人写的都要大的多,幸运的是,微软已经提供了解决方案),当然你也可以在VS IDE里选中一段代码,按快捷键Ctrl+M+H可以折叠选中的代码,但是此种折叠方法并不会被保存,当你退出IDE后再次进入工程时,上次代码的折叠已不复存在。那么有没有一种可以保存折叠效果的方法呢??答案是肯定的。
在C#(这里要说明,C#出自.net,所以只要是基于.net的语言都是可以这么用的,比如ASP,ASP.net等)中,我们可以使用#region        #endregion    关键字来申明一段代码区。
eg:
#region  参数定义
int A;
.....
#endregion
你会惊奇的发现,在#region        #endregion间的代码段已经可以折叠或是展开了,而且是永久有效的。另外要说明的是:#region是可以嵌套的,用法跟C,C++语言里的{}用法是一样的,如:
#region  参数定义
#region  整型参数
int a;
......
#endregion
#region  字符串型参数
string name;
......
#endregion
.....
#endregion
 
在C++中,这样的功能同样可以实现,只是用法略有不同,在C++中可以使用#pragma region  #pragma endregion关键字来实现相同的功能
如:
#pragma region 变量声明
 int i;
#pragma endregion 变量声明
此关键字同样可以嵌套,这里不再详细举例,读者可参看C#里的用法。请注意C++与C#用法的区别
 
另外要说明的是,以上方法只有VS IDE编译器能够识别,特别C++语言,切勿把存在代码分区的代码用别的编译器编译,否则编译器会出现不能够识别#pragma,#region等关键字的情况,而且,在低版本的VS IDE也可能会存在类似情况,不过可以肯定在VS 2005以后的版本都是能够识别的。
0 0
原创粉丝点击