[转载]提高编码效率的一些经验 – rain.zhou – 博客园.
分享一下我的编码习惯,大家有更好的方法欢迎留言补充
使用快捷键alt+shift+F10/ctrl+.
这是我很喜欢用的一个快捷键,可以直接添加引用
比如我们要用线程的Sleep方法,但是默认代码里面是没有Thread类的引用的,如果这时我们再滑动鼠标到上面去添加using System.Threading;就太慢了…
我们可以直接打出Thread然后按这个组合键然后直接按回车就帮我们自动添加了引用
谢谢Vincent Yang我才知道原来alt+shift+F10有个更方便的快捷键(ctrl+.),这样就更方便了
使用alt矩形选择
当我们在cs代码里拼html字符串的时候用的比较多,或者拼json字符串的时候
当我们按住alt然后拖动鼠标的时候会选择一个矩形选择区
比如这样的代码:
fields:[‘name’, ‘siwang’,’chusheng’,’biandong’],
data: [
{name:’“ + (year2++) + @”年’,siwang: “ + c1.ToString() + @”,chusheng: “ + b1.ToString() + @”,biandong: “ + d1.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c2.ToString() + @”,chusheng: “ + b2.ToString() + @”,biandong: “ + d2.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c3.ToString() + @”,chusheng: “ + b3.ToString() + @”,biandong: “ + d3.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c4.ToString() + @”,chusheng: “ + b4.ToString() + @”,biandong: “ + d4.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c5.ToString() + @”,chusheng: “ + b5.ToString() + @”,biandong: “ + d5.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c6.ToString() + @”,chusheng: “ + b6.ToString() + @”,biandong: “ + d6.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c7.ToString() + @”,chusheng: “ + b7.ToString() + @”,biandong: “ + d7.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c8.ToString() + @”,chusheng: “ + b8.ToString() + @”,biandong: “ + d8.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c9.ToString() + @”,chusheng: “ + b9.ToString() + @”,biandong: “ + d9.ToString() + @”},
{name:’“ + (year2++) + @”年’,siwang: “ + c10.ToString() + @”,chusheng: “ + b10.ToString() + @”,biandong: “ + d10.ToString() + @”}
]
});“;
我们在改完前面的代码后可以直接矩形选择然后复制到后面
按住ctrl点击全选整个单词,相当于双击全选
这个比较简单,在我们连续替换变量的时候用的比较多,复制一个变量然后一直按住ctrl,点要被替换的变量,然后再按下C,很方便
要习惯使用home和end键
比如我们的光标停留在一行代码的中间,我们想复制这行代码,可能大部门人都是得用鼠标,这时其实我们可以先按一下home键然后左手按住shift,再按一下end键,
因为home和end键在键盘上是挨在一起的所以很方便
home=>按住shift=>end 然后就可以ctrl+c了
其他时候用home和end直接切换到行首行末也是很方便的
使用shift+del整行删除
这个也是我很喜欢的一个快捷键,直接删除光标所在的那一行代码
我在该代码的时候,比如复制了一行代码从=后面开始改,直接编写新代码,然后回车然后一直按shift+del把后面的垃圾代码全部删掉,这样我们不用动鼠标去选再删,省了很多时间
使用代码段
编写for或者foreach的时候我们可以只编写一个for或者foreach然后连续按两下tab就会自动生成for和foreach循环
其他的代码段也有很多,for和foreach是比较常用的吧
使用带小红帽的键盘
对我们编码人员来讲最烦的就是双手放在键盘上编码的时候,有些操作需要抬起手去用鼠标操作,很浪费时间
所以我们可以用带小红帽的键盘,比如thinkpad的笔记本,当你用一段时间后,你就会发现小红帽可以相当于80%的鼠标
比如我们编码的时候想把光标移动一下,用小红帽完全可以胜任,只要不是进行高精度的鼠标操作,不过我也不插鼠标用小红帽玩过dota稍微有点费劲呵呵
现在我的同事有5,6个新买笔记本的都是买的thinkpad…呵呵有点打广告的嫌疑哈,不过确实方便
设置输入法
1)标点符号设置成英文
我现在用的时候qq的拼音输入法,现在应该用这个跟搜狗的比较多吧
我一般把输入法的标点符号设置成英文的,因为编码的时候是用英文的标点,所以在我们切成中文输入一些注释然后继续输入代码的时候打个.可以直接出来
2)勾上把输入窗口已存在的结果输入
输入法还有一个就是切换输入法时把输入窗口已存在的结果输入,这个都应该勾上,很多时候我们写代码的时候忘了切成英文,所以打了一个new却出现的 是中文的输入法,这时如果勾上了已经存在的结果输出的话,我们直接切回英文输入法,这个new会直接输出到代码里,不用再去打一个new了
代码生成
未来编程的趋势吧,从petshop时代我们开始使用代码生成底层类,现在直接用linq感觉更方便了
1)根据数据库文档生成数据库
不知道大家做项目是怎么个流程,我们是设计数据库文档,然后根据数据库文档直接生成数据库
以后有机会再写篇文章吧,简单介绍下我的实现方式:
首先我们的数据库文档都是这种格式的word文档:
表名是标题然后下面是一个表格包括字段中文名和英文名等
然后我们可以把这个word文档转成html格式,然后用HtmlDocument类来解析这个html
这样生成的数据库字段都是用中文说明的
中文说明很重要,因为有这个我们才能生成带字段注释的底层和生成apsnet页面
我是先做的底层和页面生成,然后再建数据库的时候每个字段都加说明很麻烦才想的办法做数据库生成…呵呵人都是被逼的啊
暂时先想这么多ctrl+j的智能提示地球人都知道的就不说了
欢迎大家补充