当前位置: 编程技术>移动开发
本页文章导读:
▪sourceinsight配备及使用二 sourceinsight配置及使用二
SourceInsight提供的功能1、解析日志信息时非常有用的Source Link总地说来,SourceLink根据特定的搜索模式,把当前文件中满足模式的行、链接到由该行指定的其他源文件.........
▪ 推荐高分辨率上两款字体(英文等宽) 推荐高分辨率下两款字体(英文等宽)
一、XP上的宋体+Courier New时代过去咯以前对着17寸液晶写代码的时候,等宽字体用Courier New觉得还不错,毕竟WINXP自带的也就两种英文等宽字体了,不.........
▪ 近来在做Kjava的通用版,一些体会 最近在做Kjava的通用版,一些体会
因为所在的公司需要一个KJjava的通用版本来配合市场部的工作,所以本人荣幸的成为了通用版的开发者。以前一直认为通用版很简单,不需要特效,只是.........
[1]sourceinsight配备及使用二
来源: 互联网 发布时间: 2014-02-18
sourceinsight配置及使用二
SourceInsight提供的功能
1、解析日志信息时非常有用的Source Link
总地说来,SourceLink根据特定的搜索模式,把当前文件中满足模式的行、链接到由该行指定的其他源文件中。
所谓特定的搜索模式,共有两种“File, then line”和“Line, then file”,其中前后两部分依靠正则表达式的组的概念来予以分割。如果当前文件具有匹配行,比如“Error d:tcsrcq5.c 18: Lvalue required in function jsSort”,那么SourceInsight在该行创建SourceLink、把该行链接到由该行指定的文件中(即d:tcsrcq5.c,第18行)。
1.1 创建SourceLink
运行Search菜单的Parse Source Links…命令,在弹出的框中、选择搜索模式、并填入相应的正则表达式串,点OK,SIS就会解析当前文件,如果有匹配,就创建SourceLink。
1.2 在解析日志信息时,使用SourceLink
可以打开日志信息,运行Parse Source Links命令,日志中能够匹配模式的每一行(通常是含有错误信息的行)、就会被设置上一个SourceLink
1.3在解析自定义命令输出时,使用SourceLink
首先勾选Custom Command 中的“Parse Links in Output”,然后选择特定的搜索模式,最后填入合适的正则表达式。这样,Source Insight把输出信息作为当前搜索用文件;并且,如果有匹配行(通常即编译错误信息行),SIS为 该行创建SourceLink、并把每一个错误信息中给定的文件(和行号)作为link目的地,这对于我们修改源代码错误非常有帮助。
2、替换(Replace) VS 上下文敏感的智能重命名(Context-Sensitive Smart Rename)
2.1 替换(Replace)
目前来说,普通的替换命令、快捷键为ctrl+H,足以已满足工作要求。
在弹出的替换窗口中,在Search框中勾选Selection来只在所选文本区域中替换(当然这时你要先选定区域然后再按ctrl+H)、勾选WholeFile来在整个当前文件内替换、两者都不勾选来从当前光标处替换至文件末尾;点右边的Files…按钮,可选择替换多个文件的内容。
2.2上下文敏感的智能重命名(Context-Sensitive Smart Rename)
Smart Rename命令、快捷键是Ctrl+’,是上下文敏感的全局搜索替换。它可以智能地重命名全部项目文件中的一个标示符。SourceInsight的搜索索引(search index)使得搜索过程进行地非常快。而且,使用Smart Rename所做的替换会被记录在Search Results窗口中,每一条替换记录旁有一个SourceLink链接到替换发生地文件。
Smart Rename可以用来重命名标记(symbol)。如果勾选了Smart Reference Matching选项,Smart Rename就只在正确的上下文范围内进行重命名。它可以智能地重命名全部项目文件中的一个标示符;它可以重命名函数本地变量,类或结构体成员、函数。
在弹出的Smart Rename窗口中有下面几项∶
Old Name 填旧名称。光标下的词会被自动加载;光标的位置非常重要,这是因为Source Insight会根据本地上下文背景、准确地确定你想要重命名哪一个标记。
推荐只填单个词、而不是字符串。
如果你在命名成员变量、或本地变量(),Old Name框中会显示完全标记名、即上层容器名+标记名。例如,框中的“DocDraw.paintStruc”代表DocDraw是函数名,paintStruc是函数的本地成员变量。
New Name 填新名称。只填标记名,不填上层容器名。
Output Search Results 如果勾选,搜索替换结果日志会被输出到Search Results窗口中。可以通过Windows菜单来切换,或ctrl+tab切换察看。并且每一条记录旁会有SourceLink链接到替换发生地文件。
Confirm Each Replacement 每次替换询问。
Skip Comments 不重名注释部分。
【使用心得列表】
(1)如何用Smart Rename重命名数组的数组名?如果只选取数组名,会报错!
(2)如果勾掉Smart Reference Matching,会搜索全部项目文件,并且Old Name框中不显示完全限定名;如果勾选Smart Reference Matching,无法重命名数组名,而且鼠标位置不正确时会报错。应该如何应对?
3、在SourceInsight中提供的正则表达式
3.1在SourceInsight中提供的正则表达式
正则表达式,是用来匹配复杂模式的特殊搜索用字符串。正则表达式串中,许多字符具有特殊的含义。例如,有个特殊的字符代表 “行首”。
下面是SourceInsight提供的所有可用特殊字符∶
Table 4.3: Regular Expression Characters
Character
Matches
^ (at the beginning only)
beginning of line。如^Hello,匹配Hello在句首。
.
any single character
[abc]
any single character that belongs to the set abc
[^abc]
any single character that does not belong to the set abc
*
zero or more occurrences of the preceding character
+
one or more occurrences of the preceding character
t
a tab character
s
a space character
w
white space (a tab or a space character)
$
the end of the line。如TRUE$,匹配TRUE在句尾。
转义字符。如果在它后面有元字符,取消其特殊含义。
可利用 “(”和 “)”、把正则表达式分割成不同的组;模式中的每个组自左向右指定为 Group #n,n=1,2,…;组的概念在替换时很有用。
例如∶
abc(xyz)可匹配abcxyz,其中xyz被认为是group#1,
利用21来替换(abc)(xyz),替换结果为xyzabc。
3.2 正则表达式在配置tc编译器中的应用∶
正则表达式格式与源代码文件路径相对应,这里我的tc安装目录为d:tc,tc源文件放在d:tcsrc下,并命名为qn.c或qtn.c(其中n=1,2,…)。
观察Tc编译器某一次输出错误信息的格式∶
Error d:tcsrcq5.c 18: Lvalue required in function jsSort
则我们要匹配“d:tcsrcq5.c 18”部分,进一步地,按照SourceInsight捕捉输出并加以解析时的要求,要以组的形式、分别匹配“d:tcsrcq5.c 18”中的文件部分和行号部分∶
行号([1-9][0-9]*)
空格行号s([1-9][0-9]*)
文件名(d:tcsrc[qQ][tT][1-9][0-9]*.[cC])
全部加起来为∶
(d:tcsrc[qQ][tT]*[1-9][0-9]*.[cC])s([1-9][0-9]*)
3.3 正则表达式在配置javac编译器中的应用∶
我的JAVA_HOME是c:jdk,我的java源文件放于d:javasrc中,并命名为qn.java或qtn.java(其中n=1,2,…)。
观察JDK编译器某一次输出错误信息的格式∶
D:javasrcQ3.java:3: ';' expected
正则表达式为∶
([dD]:javasrc[qQ][tT]*[1-9][0-9]*.java):([1-9][0-9]*)
4、自定义命令
自定义命令与项目相关,在一个项目中定义的所有自定义命令属于该项目、只对该项目有效(包括快捷键等)。
自定义命令类似于命令行批处理文件。SIS允许自定义命令在后台运行;并可以捕捉自定义命令的输出、放置于文件中、或粘贴入当前光标插入点。
分别利用上面SIS对输出信息的处理方式,自定义命令对集成编译器相当有用,可以捕捉编译器输出并创建SourceLink寻错;自定义命令对于文本过滤也相当有用,可选中待过滤区块、运行Sort自定义命令、粘贴回选定区块、即完成文本过滤。
请按下面步骤创建自定义命令∶
Options菜单Custom Command
点右边Add钮、填入新自定义命令名称,或下拉左边Commands、选择命令进行修改
Run框、填入待执行命令行,可含有特殊元字符,见后面的元字符表
Dir框、执行命令行时应处的目录,如不填,以源代码文件所在目录为命令执行目录
勾选Output框的Capture Output、输出被捕捉,如果勾选Paste Output,输出被粘贴
勾选Control Group框中的Save Files First、SIS会在运行命令前先检查文件是否保存
勾选Control Group框中的Pause When Done、SIS会在命令结束后暂停、方便检查
勾选Source Links in Output框中的Parse Source Links,
ps:
Sourceinsight使用技巧:
http://gcody.blog.ccidnet.com/blog-htm-itemid-287620-uid-36931-do-showone-type-blog.html
http://blog.chinaunix.net/u2/63367/showart_498728.html
SourceInsight提供的功能
1、解析日志信息时非常有用的Source Link
总地说来,SourceLink根据特定的搜索模式,把当前文件中满足模式的行、链接到由该行指定的其他源文件中。
所谓特定的搜索模式,共有两种“File, then line”和“Line, then file”,其中前后两部分依靠正则表达式的组的概念来予以分割。如果当前文件具有匹配行,比如“Error d:tcsrcq5.c 18: Lvalue required in function jsSort”,那么SourceInsight在该行创建SourceLink、把该行链接到由该行指定的文件中(即d:tcsrcq5.c,第18行)。
1.1 创建SourceLink
运行Search菜单的Parse Source Links…命令,在弹出的框中、选择搜索模式、并填入相应的正则表达式串,点OK,SIS就会解析当前文件,如果有匹配,就创建SourceLink。
1.2 在解析日志信息时,使用SourceLink
可以打开日志信息,运行Parse Source Links命令,日志中能够匹配模式的每一行(通常是含有错误信息的行)、就会被设置上一个SourceLink
1.3在解析自定义命令输出时,使用SourceLink
首先勾选Custom Command 中的“Parse Links in Output”,然后选择特定的搜索模式,最后填入合适的正则表达式。这样,Source Insight把输出信息作为当前搜索用文件;并且,如果有匹配行(通常即编译错误信息行),SIS为 该行创建SourceLink、并把每一个错误信息中给定的文件(和行号)作为link目的地,这对于我们修改源代码错误非常有帮助。
2、替换(Replace) VS 上下文敏感的智能重命名(Context-Sensitive Smart Rename)
2.1 替换(Replace)
目前来说,普通的替换命令、快捷键为ctrl+H,足以已满足工作要求。
在弹出的替换窗口中,在Search框中勾选Selection来只在所选文本区域中替换(当然这时你要先选定区域然后再按ctrl+H)、勾选WholeFile来在整个当前文件内替换、两者都不勾选来从当前光标处替换至文件末尾;点右边的Files…按钮,可选择替换多个文件的内容。
2.2上下文敏感的智能重命名(Context-Sensitive Smart Rename)
Smart Rename命令、快捷键是Ctrl+’,是上下文敏感的全局搜索替换。它可以智能地重命名全部项目文件中的一个标示符。SourceInsight的搜索索引(search index)使得搜索过程进行地非常快。而且,使用Smart Rename所做的替换会被记录在Search Results窗口中,每一条替换记录旁有一个SourceLink链接到替换发生地文件。
Smart Rename可以用来重命名标记(symbol)。如果勾选了Smart Reference Matching选项,Smart Rename就只在正确的上下文范围内进行重命名。它可以智能地重命名全部项目文件中的一个标示符;它可以重命名函数本地变量,类或结构体成员、函数。
在弹出的Smart Rename窗口中有下面几项∶
Old Name 填旧名称。光标下的词会被自动加载;光标的位置非常重要,这是因为Source Insight会根据本地上下文背景、准确地确定你想要重命名哪一个标记。
推荐只填单个词、而不是字符串。
如果你在命名成员变量、或本地变量(),Old Name框中会显示完全标记名、即上层容器名+标记名。例如,框中的“DocDraw.paintStruc”代表DocDraw是函数名,paintStruc是函数的本地成员变量。
New Name 填新名称。只填标记名,不填上层容器名。
Output Search Results 如果勾选,搜索替换结果日志会被输出到Search Results窗口中。可以通过Windows菜单来切换,或ctrl+tab切换察看。并且每一条记录旁会有SourceLink链接到替换发生地文件。
Confirm Each Replacement 每次替换询问。
Skip Comments 不重名注释部分。
【使用心得列表】
(1)如何用Smart Rename重命名数组的数组名?如果只选取数组名,会报错!
(2)如果勾掉Smart Reference Matching,会搜索全部项目文件,并且Old Name框中不显示完全限定名;如果勾选Smart Reference Matching,无法重命名数组名,而且鼠标位置不正确时会报错。应该如何应对?
3、在SourceInsight中提供的正则表达式
3.1在SourceInsight中提供的正则表达式
正则表达式,是用来匹配复杂模式的特殊搜索用字符串。正则表达式串中,许多字符具有特殊的含义。例如,有个特殊的字符代表 “行首”。
下面是SourceInsight提供的所有可用特殊字符∶
Table 4.3: Regular Expression Characters
Character
Matches
^ (at the beginning only)
beginning of line。如^Hello,匹配Hello在句首。
.
any single character
[abc]
any single character that belongs to the set abc
[^abc]
any single character that does not belong to the set abc
*
zero or more occurrences of the preceding character
+
one or more occurrences of the preceding character
t
a tab character
s
a space character
w
white space (a tab or a space character)
$
the end of the line。如TRUE$,匹配TRUE在句尾。
转义字符。如果在它后面有元字符,取消其特殊含义。
可利用 “(”和 “)”、把正则表达式分割成不同的组;模式中的每个组自左向右指定为 Group #n,n=1,2,…;组的概念在替换时很有用。
例如∶
abc(xyz)可匹配abcxyz,其中xyz被认为是group#1,
利用21来替换(abc)(xyz),替换结果为xyzabc。
3.2 正则表达式在配置tc编译器中的应用∶
正则表达式格式与源代码文件路径相对应,这里我的tc安装目录为d:tc,tc源文件放在d:tcsrc下,并命名为qn.c或qtn.c(其中n=1,2,…)。
观察Tc编译器某一次输出错误信息的格式∶
Error d:tcsrcq5.c 18: Lvalue required in function jsSort
则我们要匹配“d:tcsrcq5.c 18”部分,进一步地,按照SourceInsight捕捉输出并加以解析时的要求,要以组的形式、分别匹配“d:tcsrcq5.c 18”中的文件部分和行号部分∶
行号([1-9][0-9]*)
空格行号s([1-9][0-9]*)
文件名(d:tcsrc[qQ][tT][1-9][0-9]*.[cC])
全部加起来为∶
(d:tcsrc[qQ][tT]*[1-9][0-9]*.[cC])s([1-9][0-9]*)
3.3 正则表达式在配置javac编译器中的应用∶
我的JAVA_HOME是c:jdk,我的java源文件放于d:javasrc中,并命名为qn.java或qtn.java(其中n=1,2,…)。
观察JDK编译器某一次输出错误信息的格式∶
D:javasrcQ3.java:3: ';' expected
正则表达式为∶
([dD]:javasrc[qQ][tT]*[1-9][0-9]*.java):([1-9][0-9]*)
4、自定义命令
自定义命令与项目相关,在一个项目中定义的所有自定义命令属于该项目、只对该项目有效(包括快捷键等)。
自定义命令类似于命令行批处理文件。SIS允许自定义命令在后台运行;并可以捕捉自定义命令的输出、放置于文件中、或粘贴入当前光标插入点。
分别利用上面SIS对输出信息的处理方式,自定义命令对集成编译器相当有用,可以捕捉编译器输出并创建SourceLink寻错;自定义命令对于文本过滤也相当有用,可选中待过滤区块、运行Sort自定义命令、粘贴回选定区块、即完成文本过滤。
请按下面步骤创建自定义命令∶
Options菜单Custom Command
点右边Add钮、填入新自定义命令名称,或下拉左边Commands、选择命令进行修改
Run框、填入待执行命令行,可含有特殊元字符,见后面的元字符表
Dir框、执行命令行时应处的目录,如不填,以源代码文件所在目录为命令执行目录
勾选Output框的Capture Output、输出被捕捉,如果勾选Paste Output,输出被粘贴
勾选Control Group框中的Save Files First、SIS会在运行命令前先检查文件是否保存
勾选Control Group框中的Pause When Done、SIS会在命令结束后暂停、方便检查
勾选Source Links in Output框中的Parse Source Links,
ps:
Sourceinsight使用技巧:
http://gcody.blog.ccidnet.com/blog-htm-itemid-287620-uid-36931-do-showone-type-blog.html
http://blog.chinaunix.net/u2/63367/showart_498728.html
[2] 推荐高分辨率上两款字体(英文等宽)
来源: 互联网 发布时间: 2014-02-18
推荐高分辨率下两款字体(英文等宽)
一、XP上的宋体+Courier New时代过去咯
以前对着17寸液晶写代码的时候,等宽字体用Courier New觉得还不错,毕竟WINXP自带的也就两种英文等宽字体了,不用这个的话,就只能用无法调整字号的Fixedsys了,一屏显示不了多少行代码。我两年前还用Courier New作了一个Source InSight的配置文件作为部门标准SIS设置。
二、推荐高分辨率下的中文字体:微软雅黑 (size 14,692KB)
自从我开始用本本之后,发现用这东西真是遭罪啊,屏幕小,分辨率高, Courier New和宋体都有同样的毛病:字体太细。每天对着小屏幕编程10个小时后, 抬头看天上也全是字母数字,MYGOD。两天前我装了Windows Vista,发现系统默认字体由宋体被改为“微软雅黑”了,一开始还看不习惯,很有冲动把它改回宋体,网上也能搜到修改方法。但看了两天后发现确实设计得好,即使很小的字看久了也不太累。不过对于目前多数人来说内存还不够用vista, 那么就单独把微软雅黑字体下载来用吧。下载URL我随便找了个 http://www.24inside.net/pfs/msyh.rar 自己去GOOGLE一把也会出来很多。
三、强烈推荐等宽字体:Bitstream Vera Sans Mono (size 49KB)
今晚终于对Courier New的忍受度达到了极限,既然陪伴Windows系统十多年的宋体换掉了,那么统治了我两年英文字体i也应该改朝换代了。网上搜到这个 http://www.dafont.com/font.php?file=bitstream_vera_mono 试用以后,真是相见恨晚啊,我在1440*900的分辨率下,用Bitstream Vera Sans Mono设置在11pt甚至10pt都很清晰,而且对特别讨厌的0和O,还有l, I, 1都区分得很清楚,Courier New上面的0和O,l和1就分得不太清楚。后来才看到vista上也新加了一种英文等宽字体,Consolas ,不过和前者相比的话,觉得字母写得比较拥挤,还是前者要好些。明天就去更新部门的SIS标准配置文件,呵呵。
一、XP上的宋体+Courier New时代过去咯
以前对着17寸液晶写代码的时候,等宽字体用Courier New觉得还不错,毕竟WINXP自带的也就两种英文等宽字体了,不用这个的话,就只能用无法调整字号的Fixedsys了,一屏显示不了多少行代码。我两年前还用Courier New作了一个Source InSight的配置文件作为部门标准SIS设置。
二、推荐高分辨率下的中文字体:微软雅黑 (size 14,692KB)
自从我开始用本本之后,发现用这东西真是遭罪啊,屏幕小,分辨率高, Courier New和宋体都有同样的毛病:字体太细。每天对着小屏幕编程10个小时后, 抬头看天上也全是字母数字,MYGOD。两天前我装了Windows Vista,发现系统默认字体由宋体被改为“微软雅黑”了,一开始还看不习惯,很有冲动把它改回宋体,网上也能搜到修改方法。但看了两天后发现确实设计得好,即使很小的字看久了也不太累。不过对于目前多数人来说内存还不够用vista, 那么就单独把微软雅黑字体下载来用吧。下载URL我随便找了个 http://www.24inside.net/pfs/msyh.rar 自己去GOOGLE一把也会出来很多。
三、强烈推荐等宽字体:Bitstream Vera Sans Mono (size 49KB)
今晚终于对Courier New的忍受度达到了极限,既然陪伴Windows系统十多年的宋体换掉了,那么统治了我两年英文字体i也应该改朝换代了。网上搜到这个 http://www.dafont.com/font.php?file=bitstream_vera_mono 试用以后,真是相见恨晚啊,我在1440*900的分辨率下,用Bitstream Vera Sans Mono设置在11pt甚至10pt都很清晰,而且对特别讨厌的0和O,还有l, I, 1都区分得很清楚,Courier New上面的0和O,l和1就分得不太清楚。后来才看到vista上也新加了一种英文等宽字体,Consolas ,不过和前者相比的话,觉得字母写得比较拥挤,还是前者要好些。明天就去更新部门的SIS标准配置文件,呵呵。
[3] 近来在做Kjava的通用版,一些体会
来源: 互联网 发布时间: 2014-02-18
最近在做Kjava的通用版,一些体会
因为所在的公司需要一个KJjava的通用版本来配合市场部的工作,所以本人荣幸的成为了通用版的开发者。以前一直认为通用版很简单,不需要特效,只是实现简单的功能而已,真正做起来才发觉真的很麻烦。下面切入正题
--------------------------------------俺不是异常~---------------------------------------
问题:代码优化问题,传统的kjava游戏都是通过线程重绘来进行绘制的,采用了大量的图片,而应用则完全不同,因为会通过网络交互产生大量的字符,还要根绝屏幕来判断换行,所以经常是使用drawChar()这个方法,动则便会套入N个循环,效率变得极其低,且无法立即释放内存。
解决办法:把这些字符变成一张图片~创建一个内存图片,然后得到画笔,将字符串写入图片中~你会惊喜的发现。无论你怎么移动,它都很流程~很爽~
问题2:图片造成加载内存过大,部分机型无法适用。
解决办法:自己画~这里再次感谢老师,自己画出来的,一样可以很美~~~~以前学习的时候觉得没用,现在才知道,这个太好用了~看来基础还是非常重要的~
因为开发才刚刚开始,陆续会产生更多的问题,到时候一定会与大家继续分享~
小弟的第一个通用版的Kjava应用~开发完毕的时候,会公布下载地址~因为项目属于公司,抱歉无法开源~但是技术问题届时一定会尽量回答与大家分享~
最新技术文章: