More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  猪哥的BlogProfileFriendsBlogMore Tools Explore the Spaces community

猪哥的Blog

数码,计算机,随感……
Please use Mozilla Firefox browser and  Access Flickr! add-on to visit my blog!
  • View space
    猪哥
    7/28/2008 3:21 PM
    无过滤功能,但是在Defs按照字母顺序排序后支持前缀定位。如果你实在想要和SI一样的过滤,自己用SlickC写一个也不难。不过个人是没觉得有增加过滤功能的必要,起码我一直是使用f命令来快速跳转到我需要的定义处的,还没发现什么时候想要过SI的这种功能。
  • 7/28/2008 2:32 PM
    请问一下,怎么在slickedit里面,在Defs窗口里面输入部分字符串快速过滤,就像source insight一样。  
  • View space
    7/17/2008 3:52 PM
    我是福州的星网锐捷工作过,还记得我吗?王超.
    如果我没认错你,有空联系一下.
  • View space
    猪哥
    7/16/2008 4:22 PM
    不太清楚,我没有用过CUA以外的key binding。不过你试试把Unicode的字体设置为等宽字体,然后勾上Use fixed spacing for bold and italic fixed Unicode fonts再试试看。
  • View space
    zHENGjIAN
    7/16/2008 3:23 PM
    猪哥,你好。

    se v13版有一个现象:为什么Keybord的Emulation会影响字体的显示?如果是CUA, 则编辑器可以显示粗体,如果是Vim或Emacs等,则无法显示粗体。

    我看了看e文件,也没发现根源,特些请教。
More...
8/16/2008

Megatops BinCalc日后的发布地址

因为GooglePages看上去没啥解封的希望,所以我把转正了的BinCalc提交到Softpedia去了。不过这个Softpedia确实挺赞的,反应迅速,并且真的把东西跑了一把有检查过。至少上面的截图不是我提交的那个是他们自己跑了截的。

试验了一下,国内能正常访问和下载:http://www.softpedia.com/get/Science-CAD/Megatops-BinCalc.shtml

另外,100% Clean!

8/11/2008

翅膀短到没天理的飞机

原来在玩《GTA3》的时候,记得机场有架翅膀短得没天理的小飞机Dodo,得废个九牛二虎之力才能勉强飞起来作为代步工具提高杀人越货抢劫绑架的效率。不过看了这架米国鬼子1952年弄出来的小飞机真是被囧到了~~原来翅膀这么短的飞机还真是可以载人飞的:





看上去和动画片里面的Q版飞机差不多,翼展只有2.1米,重205kg,能带105kg的人上天,时速300km。

虽然这个不是翼展最短的双翼小飞机(吉尼斯记录是1.67米),但是是我觉得最可爱的小飞机。

另一架飞机比较丑陋,不过是全世界最小的单翼机。是由前面这个小Q飞机的设计者之一的儿子在1984年设计制造的:



翼展只有1.9米,重114kg,时速176km。
8/10/2008

Megatops BinCalc 1.0.0正式版发布

随着最后一个IPv4地址显示功能的加入,我的Megatops BinCalc终于完整实现了我最初写在Feature List里的所有功能。因此我决定从这个版本开始为BinCalc转正,正式设置版本号为1.0.0。



相对于上次发布的v0.2f版的改进主要有:

位指示器增加了2^n提示功能。显示位的Tool-tip的时候除了显示位序号还同时显示对应的2^n值。在设置一些基址寄存器或者调试CPU的MMU TLB表项的时候这个功能很方便:



ASCII字符显示增加输入功能。原本我增加ASCII Char显示功能纯粹是因为界面里面右边那块实在是太空了不知道该放点什么,还以为不可能有人用这种功能的。不过前几天有个鬼佬强烈建议俺增加ASCII输入功能,因为他居然用BinCalc来调试某种基于字节流的通讯应用( ̄口 ̄)!!。所以俺想了想估计那些经常做串口之类驱动的有可能还需要这个功能,于是就一块加上了。使用Tab键或者双击ASCII显示可以将输入焦点(黄色背景高亮)转移过去,然后敲键盘就可以了。因为是面向字节流调试的,所以Char输入是这个计算器里面唯一不在溢出时阻止输入的地方。你可以连续不断地往里面敲字母,BinCalc将字节输入按照FIFO原则处理。



最后增加的一个功能就是IPv4地址显示和输入。在界面设计的时候我真是绞尽脑汁,最终使用了复用二进制数显示区的办法来硬是挤进了这个功能(这个功能迟迟没有弄主要是因为界面原因)。因为根据我个人经验,如果你要算得是IP掩码那用位指示器就已经足够了,根本懒得去看那一大串0和1。



IP地址的输入方式也很伤脑筋,因为我很不想用Windows标准的那种文本框输入。最终我设计和实现的这个输入方式还是与计算器的输入方式统一了:输入的时候IP地址从低位往高位涨。IP地址只能用键盘输入,使用感觉与BinCalc其他进制的输入方式统一,用起来感觉挺好的也不会觉得怪怪的。

IP操作主要是用于IP报文解析调试或者是计算IP地址掩码的时候。但是我自己用了一阵子后很快就用IP显示取代了原来的二进制数显示了:因为IPv4地址点分十进制的显示方式正好直观地显示了32bit整型中每个字节的十进制形式,结合右边的ASCII字符显示可以让你直接看到每个字符的十进制Code。

在我的盒子里面可以找到最新版本的下载。另外我也给BinCalc做了个官方主页:http://bincalc.googlepages.com。主页是鸟语的,没打算做中文版。因为Google Pages被GFW捂得十分严实,中文版做了也白做~~

★ 2008年8月11日星期一:发现之前上传盒子的版本弄错了,盒子上的不是最终版本。最终版本版本号为:1.0.0.166。已经下载了的麻烦再检查一下。
8/4/2008

入手一只Chinapub傻泰迪熊

前几天在Chinapub买书,看到这个3元RMB的小泰迪熊挺好玩的就买下了。结果正好触发某优惠价格水线,结算后总价居然比买熊之前还低了2元( ̄口 ̄)!!。等于这熊白送还多贴2元,赚大了(# ̄▽ ̄#)

今天熊到手,做得还是蛮可爱的。不过作为钥匙扣挂件也太大了一点,作为桌上摆的又太小了点。不过对于负2元的东西,没啥好要求的了。





靴子穿得一只长一只短的,后来我拽了拽能拽平齐。不过照片上是初始状态还没拽过的。



猥琐男伸出咸猪手……没看到什么,性别不详~~ (╯﹏╰)
8/3/2008

Megatops ProCoder字体更新

在鬼佬的强烈要求下,我为我的Megatops ProCoder字体新增了一个字号:7×13。这个字号很遗憾地破坏了我原先的宽度必须是高度的50%的原则,所以中文混显的效果很差。不过这个字号太 小了只适合用于IDE的Build窗口显示,偶尔用用问题不大。因为完全是为了满足老外的要求制作的,所以仅包含在字体的Full版本中,Lite版本没 有变化。如果你上不了Google Pages的话可以到我的盒子里面找到下载。



另外接到多个鬼佬的抱怨说看不懂俺的中文页面,用Google翻译还是不知所云。所以我简单做了个英文版的字体页面。可惜即使是奥运,Google Pages依然被和谐得很严实,还是得翻墙看。不过这个页面只是给鬼子看的,国内能不能看到无所谓了。
7/25/2008

自己定制一个SlickEdit的代码导航菜单

在浏览代码的时候,我一般是喜欢只用鼠标不用键盘的。鼠标有个麻烦就是按键太少了,不能bind多少command上去。所以可以考虑做一个很小的菜单bind到鼠标中键上,把代码导航时最常用的几个功能加进去。这样用起来有点像以前多键鼠标流行的那个鼠标中键菜单。比如在我的SE中,浏览代码时只要点一下鼠标中键就能出来这样的菜单:

里面有最常用的代码导航所需要的功能,鼠标不费吹灰之力就能点到。这样仅用鼠标操作时在代码里面跳来跳去就爽多了。具体实现方法如下:

① 用SlickEdit的菜单编辑器编辑一个自己的菜单。我的菜单代码如下:
_menu nav_pop_menu {
   "Go to &Definition","push-tag","","","";
   "Pop Bookmark","pop-bookmark","","","";
   "-","","","","";
   "Back","back","","","";
   "Forward","forward","","","";
   "-","","","","";
   "Go to &Reference","push-ref","","","";
   "-","","","","";
   "Edit This Menu","open-menu nav_pop_menu","","","";
}


② 写一个简单的呼出这个菜单的宏:
_command void
mou_nav_menu() name_info(','VSARG2_REQUIRES_EDITORCTL)
{
    mou_click();
    mou_show_menu('nav_pop_menu', 'R');
}


③ 把这个宏bind到鼠标中键或者其他合适的键上(如果你用罗技G1这种类型的鼠标,上面一般有个小小的Back键,这个键SlickEdit也是可以认得的,你能往上边绑命令~~)
7/24/2008

让SlickEdit的搜索结果列表在完成搜索后自动得到焦点

最近在分析内核代码,发现即使是1400×1050和1680×1050两个显示器左右开弓同时上,还是觉得不够巴不得能再多一些显示代码的空间。所以我就把平时基本上一直Dock的Search Results Window给设置成Auto-Hide了。这回搜索的时候就发现有点不对劲:搜索结束以后这个Results Window一闪而过没法得到焦点停住让你看结果。被搞了几次烦死了以后出手改了它,顺便给SE的家伙提了个BUG。结果SE的开发答复说那个不是BUG,其实是故意的想让人完成搜索后能回到上次编辑的地方去( ̄口 ̄)!!。难道真的有人希望在完成搜索后连结果都不看就当什么事也没发生过嘛?!个人认为这个设计有点脑残,还是按照我的Patch修改比较符合常理~~

这个修订对V12和V13都适用(顺便提一下,SE的家伙说v13.0.1是v13的Final版本了,下个版本是明年春季发布的v14。不过说实话,我觉得v13质量很差,我现在使用的主力编辑器还是v12.0.3)。修改方法如下:

打开tbfind.e(注意如果你打了hotfix,得从你config的hotfix目录找到最新的宏文件才行),找到_show_current_search_window,改成这样:
static void _show_current_search_window(boolean show_res)
{
   if (show_res) {
       activate_search();
   }
}


然后在_tbfind_form.ESC()里面去掉对_show_current_search_window的调用(注释掉那行即可,否则在你取消搜索以后Result还是会弹出来)。

最后找到这个函数的两个调用者_begin_find和_begin_replace,都改成这样:
...
//int current_wid = _get_current_search_wid();
boolean show_res = (_findlist_all.p_value && _findlist_all.p_enabled);
...
_show_current_search_window(show_res);

Load tbfind.e,完事收工。

这样修订完成以后的效果是:如果你平时隐藏了Search Results,在你进行搜索并且搜索的选项设置为“List all occurrences”的时候搜索结果列表会自动显示出来而不会露个脸就跑掉。
7/23/2008

利用SlickEdit的Alias+SlickC功能

SlickEdit的Alias(AKA Snippet)功能本身已经做得不错,能够在Alias模板里面插入当前日期和文件名等,无论你用来自动插入文件头部的Copyright声明、Revision History还是插入一些你自定义的代码片段都还挺得心应手的。不过如果你希望插入一些更高级的东西,那就注意看了:实际上SE的Alias是支持在模板里面调用SE的宏函数的。所以你可以再配合SE强大的SlickC实现非常好用的动态Alias功能。

我这里只举一个非常简单的小例子演示一下如何编写一个调用SlickC函数的Alias。这个Alias的功能就是为头文件自动生成#ifndef...这组防止头文件被重复包含的条件编译宏。

假设有个文件叫做list.h。在这个头文件里面我们肯定都会要加上类似这样的宏:

#ifndef __LIST_H__
#define __LIST_H__
...
#endif /* __LIST_H__ */


这个工作重复的多了,自然就想用Alias实现。但是尽管用了Alias自动插入了固定部分,里面的条件编译开关名字(__LIST_H__之类的)还是要自己根据文件名起不能完全自动化。对于这种会变化的部分可以写个简单的SlickC函数来搞定,这个函数的功能就是以“__FILENAME_EXT__”的规则自动根据当前文件名生成条件编译开关名:

_str _gen_head_def()
{
    _str buffer_name = strip_filename(p_buf_name,'PD');
    return ('__' :+ stranslate(upcase(buffer_name), '_', '.') :+ '__');
}


然后编写一个这样的Alias模板(被我裁过了,实际上我里面还有版权声明什么N多东西),其中用%\m funtion_name%的形式调用这个函数:

#ifndef %\m _gen_head_def% 
#define %\m _gen_head_def%

%\c

#endif /* %\m _gen_head_def% */


这样就OK喽。上面这个Alias我起名为“h”,展开Alias的热键我是绑定到Ctrl+Tab上。这样假设你要给processor.h文件添加防止重复包含的条件编译宏,只要敲一个‘h’,然后按Ctrl+Tab展开,就会展开成如下的东西:

#ifndef __PROCESSOR_H__ 
#define __PROCESSOR_H__

[光标位置]

#endif /* __PROCESSOR_H__ */

这样用起来就很安逸了。不过用Alias+SlickC做这么简单的事情真是杀鸡用牛刀,还有更多的用处可以自己发掘。
7/17/2008

俺们有的,不只是山寨机

天朝的汽车工业在自主创新程度上绝对不亚于国粹山寨机……

雪弗兰Spark:


来个三脚版(# ̄▽ ̄#)




屁股也不含糊,后面看不仔细还真看不出来~~


方向盘的喔~~

奇瑞QQ



QQ和Spark就是哥俩好啊~~





现代伊兰特



当QQ被伊兰特XX了以后……



本田飞度



我少个轮子也能跑……



铃木雨燕



没准Q版雨燕也不过画成这样……



长安奥拓



其实加上备胎,我也是小四轮啊~~



丰田普锐斯



混合动力咋的了?俺们少个轮子才真的省油!



标致206



精仿天窗版豪华三轮车(简称“华三”)



就是货比货俺也没啥好怕的( ̄^ ̄)




7/14/2008

优化Acrobat的启动速度

这里讲的是Acrobat Pro 8,因为我的本子还没升级到Acrobat 9。因为在台机上装了9以后发现比起8还没有什么让我感觉想升级的地方,远不如当年8对7的改进那么大。

首先是关于启动速度,传说9的启动时间是8的50%,但是我压根没有感觉出来。8的速度比起之前的版本也并不慢,但是实际上还能加快不少。最简单的加速启动的方法就是把不必要的插件挪掉。

Acrobat的插件在\Adobe\Acrobat 8.0\Acrobat\plug_ins下面,3D的在\Adobe\Acrobat 8.0\Acrobat\plug_ins3d下面。其中3D的插件是全部可以拿掉的(除非你正是需要3D的那类人~~),而普通插件按照我的个人习惯,只要保留注释和reflow,其他我也拿掉了。

具体我保留的插件如下。注意下面的插件基本是最小集了,随便拿掉reflow以外的任何一个插件,注释笔记功能就无法工作了。

拿掉插件的具体方法很多,但是只要注意不要把它仍然保留在插件文件夹之内即可。因为Acrobat是递归子目录搜索插件的。你可以挪出来,也可以改扩展名,也可以把不用的打包以后删掉,随便折腾。删掉不用的插件以后,明显感觉Acrobat的启动速度加快了。

另外一个是关于AcrobatInfo.exe的优化。在资源管理器里面鼠标要是停留在PDF文件上,明显感觉硬盘咔嗒咔嗒一会儿才显示PDF文件的信息,然后后台多了个AcrobatInfo的进程。这个进程的功能很无聊,一个是显示PDF的缩略图,另一个是在文件信息里面显示一些PDF信息(如作者什么的)。如果你确信你压根都不想用它,可以把它拿掉。

拿掉这个东西的方法有很多种,一种是改注册表彻底干掉,但是风险大,而且以后哪天又想要回来就比较麻烦。另一个就是把AcrobatInfo.exe删掉,这个办法不好。因为会弄得Acrobat无法启动,除非你答应让它进行修复把AcrobatInfo给弄回来。最简单又彻底的办法,还是利用XP Pro/2003 Server的组策略:

在Software Restriction Policy这么加一条,这个世界就清净了。
View more entries