[转贴]享受Code::Blocks编辑快感的几个关键
原文链接:http://blog.csdn.net/Utensil/archive/2008/12/24/3593502.aspx
说明:
1)以下需要设置的地方均在Settings->Editor…弹出的对话框中。
2)不少命令都可针对当前行或选中的代码块,下文简称当前行或选中块。
==日常编辑==
• 按住Ctrl滚滚轮,代码的字体会随你心意变大变小,对保护视力特别有好处。
• 在编辑区按住右键可拖动代码,省去拉(尤其是横向)滚动条之麻烦;相关设置:Mouse Drag Scrolling。
• Ctrl+D可复制当前行或选中块。
• Ctrl+Shift+C注释掉当前行或选中块,Ctrl+Shift+X则解除注释。
• Tab缩进当前行或选中块,Shift+Tab减少缩进。
• 可拖动选中块使其移动到新位置,按住Ctrl则为复制到新位置。
• 按下Atl,再拖动鼠标,可以实现部分选择(即只选中一个区域内的字符,而不会包含它们所在行的其他字符)。
• 需要更大编辑空间时,F2和Shift+F2分别可以显隐下方Logs & others栏和左方的Management栏。
==自动完成与缩写==
1)优化代码自动完成功能:在Code-completion and symbol browser中,
• 将Automatically launch when typed # letter中的4改成2,这样打两个字母就会有提示了。
• 将Keyword sets to additionally include中1到9都勾上(可在Syntax highlighting 的keywords…中设置,其中1是C++关键字,3是Doxygen关键字;我曾将wxWidgets的类名都加入7并设置相应的字体(粗黑体),看代码时特别爽)
• 将Delay for auto-kick-in when typing [.::->]拉到 200ms,这样快点出来提示
• 选中Case-sensitive match,防止一些无关的东西干扰,如果你想它帮你纠正大小写,那就去掉勾
• 在Keyboard short-cuts中将Edit->Code complete的快捷键由Ctrl+Space改为Alt+/,因为前者与中文输入法切换冲突,该快捷键为已经输入的(不是正在输入的)词提供自动完成。
2)看Abbreviation一栏,里面定义了许多缩写(还可以自定义),只要输入这些缩写,并按Ctrl+J,就可以自动完成常用的代码框架,并将光标放在恰当的地方(自定义时用|表达)。常用的有:guard、class、switch等。
3)如果你声明了一个类,你可以在cpp文件中右击,Insert->All class methods without implementation…来插入你还没定义的方法的定义(省去不少打字的功夫哦),也可使用Insert->Class Method declaration/implementation…来插入一个方法的声明或定义。
==导航相关==
• Ctrl+G 到达指定行,ALT+G 到达指定文件,Ctrl+Alt+G 到达指定函数(支持头文件中的函数定义),F11 切换源文件与头文件。
• Ctrl+PageUp 到达上一个函数,Ctrl+PageDown 到达下一个函数。
• Ctrl+B 添加书签,Alt+PageUp和Alt+PageDown可以切换书签。
• Ctrl+Shift+B可找到匹配的括号。
• 看长代码时,可右击,Folding->Fold All,然后慢慢展开来看,也可充分利用左方Management栏的Symbol浏览器。
• 在一个变量、函数或宏上右击,三个以Find开头的菜单项,分别可以为你转到它的声明、定义和找到所有出现的地方(按F2在下方Thread Search那里查看)。
其他:
• General Settings中可以设置缩进、自动换行等细节。
• 让Code::Blocks永远记住你的Layout,尤其是debug的layout,善用debug工具栏。
• 备份C:\Documents and Settings\[你的用户名]\Application Data\codeblocks\Default.conf,如遇重装,将其放在codeblocks.exe所在目录,就不会丢失你的配置;这样也可以打造出Code::Blocks的绿色版。
给WD MY BOOK网络硬盘盒安装SVN
搞了个盒子,想安装SVN到上面去,但不建立交叉编译环境,很麻烦,难度极大.
用SSH连接上去发现上面有GCC了,于是直接在上面编译吧.
configure花了15分钟,make花了126分钟.
参考了这个文章,不过没有安装APACHE,节省内存当缓存用.
http://bruce.in/p/873
下载源代码:
下载页面:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74
$ wget http://subversion.tigris.org/downloads/subversion-1.6.9.tar.bz2
$ wget http://subversion.tigris.org/downloads/subversion-deps-1.6.9.tar.bz2
解压源文件:
$ tar -vxf subversion-1.6.9.tar.bz2
$ tar -vxf subversion-deps-1.6.9.tar.bz2
开始编译:
./configure –disable-mod-activation –without-berkeley-db –without-apache-libexecdir
make install时出错了,说是找不到什么库,查了下这些库并没有在PATH中,只好手动添加
ld.so.conf
/usr/local/serf/lib
/usr/local/apr/lib
总算是成功了,测试了一下可以运行.
于是做个简单的启动脚本吧.
/etc/init.d/svn.sh
#!/bin/sh
# description: Svnserve auto start-stop script.
# chkconfig: - 20 80
#
SVN_HOME=/usr/local/bin/
SVN_OWNER=root
if [ ! -f "$SVN_HOME/svnserve" ]
then
echo "svnserver startup: cannot start"
exit
fi
case "$1" in
'start')
su - $SVN_OWNER -c "$SVN_HOME/svnserve -d -r /shares/internal/PUBLIC/svn-root"
;;
'stop')
su - $SVN_OWNER -c "killall svnserve"
;;
'restart')
su - $SVN_OWNER -c "killall svnserve"
su - $SVN_OWNER -c "$SVN_HOME/svnserve -d -r /shares/internal/PUBLIC/svn-root"
;;
esac
然后在network_servers.sh中照其它服务的样子添加一行就行了
让codeblocks在LINUX下用XTerm调试程序完美显示中文
设置–>环境
把”运行控制台程序的终端的后面参数修改为
“xterm -fn -misc-fixed-medium-r-normal–18-120-100-100-c-90-iso10646-1 -T $TITLE -e”
原来只有”xterm -T $TITLE -e”
原因:字体库不全,部分文字无法显示
引关内容: 如何让xterm 显示中文
今天迁移并删除了两个在google code上面的小项目
无用的项目,为不占用google的空间,就打算删除了,但里面的东西还是希望留下来做个纪念,于是迁移了下来.
操作如下:
1.在本地建立一个空的库用来安置要迁移过来的库.svnadmin create dest-project-name
2.设置好本库的用户及权限设置,然后在其hooks目录放一个pre-revprop-change.bat文件,内容为空即可
3.同步初始化空的库.svnsync init dest-url source-url
4.开始同步.svnsync sync dest-url
这样,就自动把源库的全部版本检出,并提交到新的库里面去了…
备份好新的库,源库就可以放心的删除了…
参考链接:
Subversion库迁移及备份方案:http://www.yeeach.com/2008/05/20/subversion库迁移及备份方案/
详说 Subversion备份:http://doc.iusesvn.com/show-37-1.html
wxWidgets 框架程序如何获取程序的传入参数[转]
原文链接:http://blog.csdn.net/qiqi5521/archive/2008/05/26/2481172.aspx
原文的有点太长,只取最重要的:
“实际上,wxWidgets框架下的App对象,本身即具有两个成员:argv argc 存储的正是程序的传入参数,其数据类型和使用方法和控制台程序main函数的两个参数argv argc一模一样。唯一不同的是,对于控制台程序,argv 和argc是做为main函数的参数传进来的,是结构化编程时代的特征,而如今面向对象一统天下,argv和argc虽然名称没变,但却已摇身一变为 app对象的成员变量.“
wxWidgets使用显示图片wxStaticBitmap请注意刷新
写一个小工具,需要显示一张图片,但发现载入图片后显示不太正常,再次载入,位置变了但原图还在,最小化一下后再恢复显示正常.
觉得应该是刷新问题,但试了无效.
搜索半天发现,我是frame里面添加boxsizer再添加wxStaticBitmap.想刷新也刷新不了.
于是更改为frame里面添加panel,然后再在panel里面添加wxStaticBitmap.
wxStaticBitmap::SetBitmap显示图片后再对panel执行Refresh操作,显示就正常了…
被金河田7606折磨的人们,快点解放你自己吧!
3年前买了金河田7606,花了300块,什么都好,就是机箱容易噪音大,但一直使用不多.没在意.
开始以为是CPU风扇的噪音,因为CPU风扇是使用的AMD配套的风扇.
随着使用频率的升高,2个月前,终于忍不住了,就网上买了个号称低噪音的风扇.
回来换上,发现噪音比原来好像还要大,没果,过了半个月,又换回原来的风扇并加了个限速电阻.
声音小点了,但还是大,拆开机箱就是找不到解决办法.
上个月为新买了台客厅播放机,用的是INTEL的U,四线的风扇,以为这个会有自动调速功能,于是,把两台的主机板换了.
结果噪音依旧,于是,给这个也加了个限速电阻,还是没有改善,昨天晚上又给电源风扇加了个限速电阻,结果还是一样.
今天无意中开启了节能,然后过会发现没有噪音了,原来硬盘被关了.
于是,终于找到了最后的噪音来源,硬盘与机箱共振了….
解决办法:把硬盘平放在机箱底下,下面垫层纸.
这下子,世界安静了,完全没有声音…
耳朵都有点疼,都是被噪音折磨的..
原因总结:
机箱的构造会引起共振,因为这机箱的用料还算扎实,但还是不够厚,于是就共振了.
要是那些垃圾机箱那么薄的铁板,根本振动不起来,这个要是再厚些,然后加了三解架类型的东西加固,也振动不起来.
其实风扇都是有噪音的,但虽然可以听到,但不会难受.只有这共振的声音,那叫一个惨..
其实这机箱还算可以的,电源也不错,就是这个共振的通病,网上多有人提及.
HDMI没有声音
原来用缺几根线的VGA线,画面有波纹,声音也不杂音.
于是今天花了83大洋买了根秋叶原的HDMI线,本来想声音也有了,结果发现没有声音,只好用模拟音频试试是正常的.
后经多方查阅得知,HDMI只有分辨率为1280*720P 1280*720I 1920*1080I 1920*1080P时才能声音,这才是HDTV的标准分辨率
在其它分辨率下要么没声音要么音速不正常…
但我的夏普 LCD-32A33竟然在这几个分辨率下显示效率不好.
没办法,只好用模拟音频.而且声音也没有原来的干扰了,看来我原来那根VGA线的接线屏蔽也不过关,引起声音有噪音…
另外,如果要HDMI输出声音的话,要在音频属性里面选择输出设备为HDMI
PS.要用声卡输出得再改回来
突然发现自己从来都没有真正开心过
Tell my why?
还没上学的时候,老是被家人训,要老实,不打架,稍不听话就挨打,好像没有什么时候开心地的印象,唯一有印象的是被村里的年龄大点的欺负.而我,听大人的话要老实
上村小学了,老是被某个家里没教养”白大汉”欺负,好像也没有开心过,好在造化弄人,这人现在是某前辈说的”坐山雕“的下场,嗯,还是平时少为恶的好.
上镇上小学了,依然被班上两名同学欺负,这两名智力正常..嗯好,我会记着你们,有空就画个圈圈诅咒你们…可笑的是,连班主任老师也看不起我,虽然我都得过班上第一名.
初中倒还好了,没发生过太多不愉快的事情..
高中时开始堕落…还好我及时跳出,只上过一学期,然后就自己要求退学了.不然,现在我都不知道我是什么样..
话说出来的原因,一是成绩不是太好,没有优越感了,然后在学校开始学坏,二是因为老爸在家只知道买6河彩,嗯,因为这,整个老家没救了.
出来后身上肩负的理想太多,加上刚出来的时候好傻,嗯,第一年过得还行.
慢慢地,没那么傻了..体会到社会的险恶..又开心不起来….就这样过了几年…
直到现在,老爸依然不听话,现在都开始借高利贷了,哎,他何时才能被救赎?都快60的人了..