slickedit编译设置
⑴ 谁推荐个好的C++编辑器
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
最近觉得以前用的Turbo C++编辑器太难操作了,请问下谁知道有什么美观又好操作的C++编辑器吗?我觉得FLASH的脚本编辑界面就很好,哪位大虾给推荐一个?重谢!
解析:
C++开发常用工具“群英会”
开发环境
---->Turbo c
DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:)
---->Visual C++ 6.0/7.0
稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附带的一些工具也很不错,比如:Spy++。但编译器较之同类,支持c++标准的程度不够好,尤其6.0及以前的版本。
---->BCB
Borland的C++ Builder是可以与VC匹敌的另一个功能强大的IDE,速度和稳定性稍逊,但对c++标准支持的程度较好。
---->Cygwin
Windows平台下的C++编译器,基于gcc,又完全兼容Window特有的东西,比如对winsock的支持。从cygwin可以找到有关Cygwin的详细信息。
---->Dev-c++
Windows平台下,一个类似VC、BCB的c++ IDE开发环境,属于共享软件。界面亲切优雅,size也不大,其4.9.x版有中文语言支持,无需汉化。编译器基于gcc,完全支持STL。但是对于规模较大的软件项目,恐怕难以胜任。可以从bloodshed/dev/devcpp找到有关Dev-c++的有关信息。
---->Source Insight
有着和Dev c++一样漂亮的界面,提供代码的编辑和察看功能,具有丰富的语法加亮功能,可以像VC一样自动弹出成员函数的提示,并具有快速方便的函数跳转功能(但是跳转速度似乎有点慢)。只是默认设置不适合时,需要仔细的调整和修改。无法查找经typedef之后的名字。
辅助工具
---->Visual Assist
VC IDE环境下的辅助编程工具,能识别各种关键字、函数、成员变量,自动给出tip,并自动更正大小写错误,标示拼写错误等。是VC开发的良好伴侣。
---->Understand for C++
一款c/c++IDE编程的辅助工具,支持反向工程,代码导向和一些统计功能,从scitools可以找到有关Understand for C++的详细信息。
程序编辑器
---->EditPlus
一款很不错的文本编辑软件,功能强大却又十分轻巧。支持不同语言的语法加亮,还有Project组织功能,具有丰富的自定义功能。通过设置User Tool,可以和其他语言编译器结合,形成一个简单的IDE。
---->Ultra Edit
功能和EditPlus相当碧神,通过脚本文件提供的配置功能可以定制编辑环境,但自6.0版以后一直没多大变化,就编程而言,自定义设置没有EditPlus方便。
---->EMACS
公认的世界上功能最多谨此,最复杂的文本编辑器,其实也可以当作程序员用的编辑器。
---->Visual Slick Edit
一个功能强大的程序员用编辑器。最值得一提的是其定制功能,很好用,可以和EMACS相比。自带了一套PCODE解释器,用c的语法,还可以挂接动态库。配合mingw一起使用很方便。从slickedit可以找到有关SlickEdit的详细信息。
---->IQEdit
全功能的程序员用编辑器,界面很漂亮,从pwksofare可以悔晌亏找到有关IQEdit的详细信息。
UML/建模
---->Rational Rose
强大的建模工具,早已“家喻户晓”,功过自然不必多加评说了。从rationalsofare可以找到有关Rational Rose的详细信息。
---->Visual Modeler
MS Visual Studio 6.0所附的小工具。属于Rational和MicroSoft合作的战略产品,是Rose的简化版。
---->Visio
Microsoft的建模工具,感觉更人性化一些,但功能没有Rose多、强、专,支持正向的代码生成,以及对代码的反向工程。
---->Together
另一款功能强大的建模工具,用java编写而成,口碑不错,不过速度稍稍慢了一些。从togethersoft可以找到有关Togather的详细信息,另外,以下网址提供了一个有关Together的教程: cc.puv.fi/~tka/kurssit/Tietojarjestelmien_suunnittelu/together/TCCGuide6
---->Visual UML
支持多种语言类型,比如:VC、VB、DELPHI、CORBA IDL等,可以直接从UML设计图生成代码,简单易用,完全适合Personal use,界面也很清爽。从visualObject可以找到有关Visual UML的详细信息。
---->SmartDraw
通用图表制作软件,可以用来制作组织机构图、流程图、统计图表等。随带有图库,基本满足制作各类图表的需要。从 *** artdraw可以找到有关SmartDraw的详细信息。
---->PlayCase
国产面向对象的建模软件,兼容UML和IDEF,轻量级软件,只是界面看起来有点简朴,乃是高展先生用Delphi完成的。
版本控制
---->ClearCase
Rational的版本控制管理软件,功能强大,可以控制多种类型的文档,甚至包括Word、Excel、PowerPoint文档。但使用复杂,不易上手,且不是免费软件。
---->CVS
为基于Web的分布式协同开发提供了版本控制管理手段,且是免费软件,可以通过脚本定制功能。但在权限控制方面功能相对较弱。
---->VSS
微软的版本控制管理工具,功能相对简单,适合于小型团队开发,将其整合到微软的其他开发工具中,使用起来十分方便。
---->SourceOffSite
微软为开发人员提供的远程访问VSS数据库的工具,使数据库得以远程更新,以支持远程办公。其他的版本管理工具还包括:PVCS、VCS、RCS等。
XML
---->expat
用于读取和处理XML文档的c函数库,最初是James Clark的个人作品,简单轻巧,且速度快。但支持的编码方式有限,最遗憾的是不支持中文。从expat.sourcefe可以找到有关expat的详细信息。
---->xml4c
IBM的XML Parser,用c++语言写就,功能超级强大。号称支持多达100种字符编码,能够支持中文,适合于大规模的xml应用。若只是很小范围的应用,则非最佳选择,毕竟,你需要“背负”约12M左右的dll的沉重负担。从alphaworks.ibm/tech/xml4c可以找到有关xml4c的详细信息。
---->Xerces c++
Apache的XML项目,同样是c++实现,来源于IBM的xml4c,因此编程接口也是和xml4c一致的。但是目前只支持少数的字符编码,如ASCII,UTF-8,UTF-16等,不能处理包含中文字符的XML文档。从 xml.apache/xerces-c可以找到有关Xerces c++的详细信息。
测试
---->CppUnit
一个c++的单元测试框架,可以通过派生测试类的方式,定制具体的测试方案。xUnit家族的一员,从JUnit移植而来,JUnit是Java语言的单元测试框架。从cppuint.sourcefe可以找到有关CppUint的详细信息。
---->Rational ROBOT
Rational的自动化测试工具,通过编写脚本的方式提供自动化测试特性。其GUI方式的脚本录制功能,有助于对GUI软件进行功能测试;其VU方式的脚本录制功能,有助于测试某些软件的数据通讯功能。
---->Rational Purify
同样是Rational的自动化测试工具,不需要被测程序的源代码,可以用来检查内存访问错误、Windows API调用错误等,以完成软件的可靠性测试,属于白盒测试。
其他的Rational测试工具还包括:TestFactory、PureCoverage、TestManager等。
日志
---->log4cpp
一个用于日志记录的c++函数库,可以将内容以定制的方式记录到不同的目的地,比如:文件、控制台syslog等,同时还可以通过控制记录级别来屏蔽掉某些无关记录。从log4cpp.sourcefe可以找到有关log4cpp的详细信息。
注释
---->Doc++
注释文档生成工具,根据源程序中的文档注释,可以输出TeX和HTML格式的文档。除了支持c/c++语言外,还支持IDL和java。仅提供命令行使用方式。从docpp.sourcefe可以找到有关Doc++的详细信息。
---->Doxygen
注释文档生成工具,较之Doc++功能更为齐全,可以生成包括HTML、PDF、RTF在内的多种格式的文档,并有GUI界面,除了支持c/c++语言外,还支持IDL、java、PHP、c#等。从stack.nl/~dimitri/doxygen可以找到有关Doxygen的详细信息。
⑵ PC-lint的使用方法
PC-lint 软件性价比高,易于学习,容易推广和固化到软件开发测试流程中去,所以在全世界得到了广泛的应用。PC-lint 使用方法很简单,可以用命令行方式进行,例如lint-nt –u std.lnt test1.c test2.c test3.c 也可以使用
MAKEFILE的方式。此外,它还可以集成到很多开发环境或常用的代码编辑软件中,比如集成到Source Insight/SLICKEDIT/MS VC6.0/KEIL C..等。PC-Lint 还支持Scott Meyes的名着(Effective C++/More Effective C++)中说描述的各种提高效率和防止错误的方法。
PC-lint 的安装非常简单,以PC-lint 8.0为例,运行安装程序将其释放到指定的安装目录即可,比如c:pclint8。然后需要运行PC-lint 的配置工具config.exe生成选项和检查配置文件,以刚才的安装路径为例,config.exe 应
该位于:C:pclint8config.exe。配置文件是代码检查的依据,PC-lint 自带了一个标准配置文件std.lnt,但是这个文件没有目录包含信息(头文件目录),通常对代码检查的时候都需要指定一些特殊的包含目录,所以要在标准配置的基础上生成针对某个项目代码检查的定制配置。下面就以Microsoft Visual C++ 6的开发环境为例,介绍一下定制配置的过程。
运行C:pclint8config.exe后出现一个欢迎界面,提示版权信息,如图4.1所示:
图4.1 配置欢迎窗口
点击“下一步”按钮出现pc-lint.exe命令行使用说明窗口(图4.2所示):
图4.2 pc-lint.exe命令行使用说明窗口
点击“下一步”按钮继续,接着是选择创建或修改已有配置文件STD.LNT的选项:
图4.3 选择如何使用配置文件STD.LNT 因为我们是第一次配置,所以选择上面一个选项“Create a new TD.LNT”,
这样做不会修改已有配置文件STD.LNT的内容,而是创建一个新的STD_x.LNT文件,文件名中的x是从“a”到“z”26个英文字符中的任意一个,一般是按顺序排列,从“a”开始。STD_x.LNT文件的内容被初始化为STD.LNT内容的拷贝。如图4.3所示,使用默认的PC-Lint 路径,然后点击“下一步”按钮选择编译器:
图4.4 选择编译器
接下来是选择编译器,在下拉框中选择自己使用的编译器。这里我们选择“Microsoft Visual C++ 6.x (co-msc60.lnt)”。如果没有自己使用的编译器,可选择通用编译器“桥手游Generic Compilers”。这个选项会体现在co-xxx.lnt 文件中,并存放在前面我们选择的配置路径(C:PCLint8)下,在后面配置选项我们所选择的***.LNT均会被存放到这个路径下。点击“下一步”按钮选择内存模式:
图4.5 选择内存模式
可以根据自己程序区和数据区的实际大小选择一个恰当的内存模型,内存模型的选项会体现在STD.LNT文件或新创建的STD_x.LNT 中。因为我们的开发环境是32位的Windows,薯拿所以选择“32-bit Flat Model”,然后点击“下一步”按钮选择所要的支持库的配置信息:
图4.6 选择软件库的配置信息
PC-Lint 常用的一些软件库都提供了定制的配置信息,选择这些定制信息有助于开发人员将错误或信息的注意力集中在自己的代码中,选择的支持库配置将被引入到STD.LNT文件或新创建的STD_x.LNT 文件中。选择常用的ATL、MFC、STL等配置,然后点击“下一步”按钮:
图4.7 选择软件名人的编程建议
这是一个比较有意思的选项,就是让你选择是否支持为使用C/C++编程提出过重要建议的作者的一些关于编程方面的个人意见。如果选择某作者的建议,那么他提出的编程建议方面的选项将被打开,作者建议的配置名为AU-xxx.LNT,建议全部选择,然后点击“下一步”按钮:
图4.8 选择是否设置包含文件目录
接下来是选择用何种方式设置包含文件目录,如果选择敏销使用-i 方式协助设置包含文件选项,下一步就会要求输入一个或多个包含路径。也可以跳过这一步,以后手工修改配置文件,-i 选项体现在STD.LNT文件或新创建的STD_x.LNT 文件中,每个目录前以-i 引导,目录间以空格分隔,如果目录名中有长文件名或包含空格,使用时要加上双引号,如-i“E:Program FilesMicrosoft Visual C++VC98Indlue”。这里我们选择用-i 方式协助我们来设置,然后点击“下一步”按钮:
图4.9 选择是否设置包含文件目录
这一步就是在下面的文本框里可手工输入文件包含路径,用分号“;”或用ctrl+Enter换行来分割多个包含路径,或者可以点中Brows,在目录树中直接选择。填完后点击“下一步”按钮:
图4.10 提示std_x.lnt 已经被创建因为第三步选择了“Create a new STD.LNT”选项,所以出现以下对话框,表
示std_x.lnt,std.lnt 在配置路径下已被创建,这里的std_a.lnt实际上包含了std.lnt 的信息,除此之外还有我们选择的包含路径和库配置信息。单击“确定”按钮继续:
图4.11 提示是否为其它编译环境创建配置文件
选择“确定”后,会接着提示是否为其它编译环境创建配置文件,如果选择“是”将从第四步开始创建一个新的配置文件。这里我们选择“否”:
图4.12 是否替换std.lnt 文件
接下来会提示是否使用现在生成的std_x.lnt 文件取代std.lnt文件。如果选择“是”将会用std_x.lnt 文件的内容覆盖std.lnt 文件的内容,使得当前创建的配置选项成为以后创建新的配置文件时的缺省配置。通常我们选择“否”继续下一步:
图4.13 生成全局代码检查选项文件OPTIONS.LNT
接下来将会准备产生一个控制全局编译信息显示情况的选项文件OPTIONS.LNT,该文件的产生方式有两种,一种是安装程序对几个核心选项逐一解释并提问你是否取消该选项,如果你选择取消,则会体现在OPTIONS.LNT文件中,具体体现方式是在该类信息编码前加-e,后面有一系列逐一选择核心选项的过程。如果选择第二种选择方式,安装文件会先生成一个空的OPTIONS.LNT文件,等你以后在实际应用时加入必要的选项。这里选择“No”选项,即不取消这些选项,然后单击“下一步”:
图4.14 选择所支持的集成开发环境
接着选择所支持的集成开发环境选项,可选多个或一个也不选,PC-Lint 提供了集成在多种开发环境中工作的功能,例如可集成在VC、BC、Source Insight中。这里我们选择Microsift Visual C++ 6.0,这样env-v6.lnt就会被拷贝到配置路径中。然后单击“下一步”:
图4.15 选择LIN.BAT 文件的使用方式
安装程序会生成一个LIN.BAT文件,该文件是运行PC-Lint 的批处理文件,为了使该文件能在任何路径下运行,安装程序提供了两种方法供你选择。第一种方法是让你选择把LIN.BAT拷贝到任何一个PATH 目录下。第二种方法是生成一个LSET.BAT文件,在每次使用PC-LINT前先运行它来设置路径,或者把LSET.BAT 文件的内容拷贝到AUTOEXEC.BAT文件中。建议选择第一种方法,指定的目录为当前PC-Lint 的安装目录。我们选择第一种方式:“ LIN.BAT to one of my PATH directory”,然后单击“下一步”输入PATH 目录:
图4.16 指定PATH 目录
输入安装目录C:PCLint8作为PATH目录,然后单击“下一步”按钮进入最后的确认窗口:
图4.17 确认完成配置
到此就完成了PC-Lint的安装配置工作,单击“完成”按钮就可以使用PC-Lint。以上配置过程中在配置路径下产生的多个*.lnt 文件,除了std.lnt、std_x.lnt和option.lnt为配置向导所生成,其它co-xxx.lnt、lib-xxx.lnt、env-xxx.lnt 均是从原始安装目录中拷贝出来的,在这个目录下还有其它PCLint所支持的编译器、库及集成开发环境的lnt 配置文件,所有的lnt 文件均为文本文件。
上面的配置方法适合于刚开始接触PC-lint 时使用,对于熟练的使用者可以直接编辑、编写各*.lnt 配置文件安成上面的配置工作,或者定制出更适合自己使用的配置环境。 PC-Lint 的使用方法很简单,可以用命令行方式进行,也可以集成到开发环
境中,下面就分别介绍这些用法
使用命令行方式
命令行的使用方式是PC-lint最基本的使用方式,也是其他各种集成使用方式的基础,通过命令行可以完成PC-lint 的全部代码分析工作。PC-lint 的命令行有下列形式:
Lint-nt option file1 [file1 file3 …]
其中的Lint-nt 是PC-lint 在Windows NT/2000/XP 平台上的可执行程序Lint-nt.exe,它完成PC-lint 的基本功能;option 代表PC-lint可接受的各种选项,这是PC-lint最为复杂的部分,它的选项有300多种,可以分为:错误信息禁止选项、变量类型大小选项、冗余信息选项、标志选项、输出格式选项和其他选项等几类,这些选项在本文的第三部分已经介绍过了;file为待检查的源文件。
另外值得注意的一点是,在命令行中可以加入前面提到的*.lnt配置文件名,并可以把它看作是命令行的扩展,其中配置的各种选项和文件列表,就和写在命令行中具有一样的效果。
PC-Lint 与Visual C++集成开发环境(IDE)集成
在所有集成开发环境中,PC-Lint 8.0对VC++6和VC++7.0的支持是最完善的,甚至支持直接从VC 的工程文件(VC6是*.dsp,VC7是*.vcproj)导出对应工程的.Lnt文件,此文件包含了工程设置中的预编译宏,头文件包含
路径,源文件名,无需人工编写工程的.Lnt文件。
PC-Lint 与VC 集成的方式就是在VC 的集成开发环境中添加几个定制的命令,添加定制命令的方法是选择“Tools”的“Customize...”命令,在弹出的Customize窗口中选择“Tools”标签,在定制工具命令的标签页中添加定制命令。首先要为VC 的集成开发环境添加一个导出当前工程的.Lnt配置文件的功能,导出.Lnt文件的命令行是:
lint-nt.exe +linebuf $(TargetName).dsp>$(TargetName).lnt 参数+linebuf表示加倍行缓冲的大小,最初是600 bytes,行缓冲用于存放当前行和你读到的最长行的信息。$(TargetName)是VC集成开发环境的环境变量,表示当前激活的Project 名字,注意要选中“Use Output Window”选项,这样PC-Lint 就会将信息输出到Output窗口中。填写效果如图4.18所示:
图4.18 添加导出项目.Lnt文件的定制命令
接着添加一个检查当前文件的定制命令,检查文件的命令行为:
lint-nt.exe -iC:PCLint8 -u std_g.lnt env-vc6.lnt
$(FileName)$(FileExt)
第一个参数-iC:PCLint8为PC-Lint 搜索*.lnt 文件的目录,这里就是我们的配置路径。std_g.lnt是为VC 编译环境定制的配置文件,$(FileName)和$(FileExt)是VC 集成开发环境的环境变量,$(FileName)$(FileExt)表示当前文件的文件名。和导出.Lnt命令一样,这个命令也要使用VC 集成环境的Output窗口输出检查信息,所以要选中“Use Output Window”选项,如图4.19所示:
图4.19 添加检查当前文件文件的定制命令
最后要添加一个检查整个工程的定制命令,检查整个工程的命令行是:
lint-nt.exe +ffn -iC:PCLint8 std_g.lnt env-vc6.lnt
$(TargetName).lnt>$(TargetName).chk
这个命令的结果就是将整个工程的检查结果输出到与工程同名的.chk文件中。参数中+ffn 表示Full File Names,可被用于控制是否使用的完整路径名称表示。
下面就以一个简单的例子介绍一下如何在VC集成开发环境中使用PC-Lint。首先新建一个“Win32 Console Application”类型的简单工程(输出“Hello World”),然后将本文第二章引用的例子代码添加到工程的代码中,最后将这个工程代码所倚赖的包含目录手工添加到配置文件中,因为代码检查要搜索stdafx.h这个预编译文件,所以本例要手工添加工程代码所在的目录。本文的例子生成的配置文件是std_g.lnt,用文本文件打开std_g.lnt,在文件中添加一行:
-iC:unzipped est
“C:unzipped est”就是例子工程所在的目录(stdafx.h就在这个目录)。如果你的工程比较庞大,有很多头文件包含目录,就需要将这些目录一一添加到配置文件。在确保代码输入没有错误之后(有错误页没关系,PC-Lint会检查出错误),就可以开始代码检查了。例子工程,打开要检查的代码文件,本例是test.cpp,然后选择“Tools”菜单下的“PC_LINT 8.0 Check Current File”命令,Output 窗口输出对本文件的检查结果,如图4.20所示:
图4.20 检查结果
PC-Lint 与source insight 集成
PC-Lint 与source insight的集成也是通过添加定制命令实现的,从“Options”菜单中选择“Custom Commands”命令项。点击“Add…”按钮,如图4.21所示,在弹出的“Custom Commands”窗口中完成以下输入:
在Name栏中输入“PC-lint Check Current File”,原则上这个名称可以随便起,只要你能搞清楚它的含义就可以了;
在Run 栏中输入“C:PcLintlint-nt -u -iC:PcLintLint std_f env-si %f”其中C:PcLint 是你PC-LINT的安装目录,td_f表示为Source Insight定制的配置文件std_f.lnt;
在Output栏中选择“Iconic Window”、“Capture Output”选项;
在Control 栏中选择“Save Files First”;
在Source Links in Output 栏中选择“Parse Links in Output”、“File,then Line”;
在Pattern 栏中输入“^([^ ]*) ([0-9]+)”;
图4.21 在Source Insight中添加定制命令
命令添加完成后就可以点击“Run”按钮就可以对当前文件执行PC-Lint 检查。为了方便使用,还可以点击“Menu...”按钮将这个定制命令添加到Source Insight的菜单中。
PC-Lint 与UltraEdit 集成
在UltraEdit 中集成PC-Lint的方法和Source Insight 类似,也是添加一个定制命令菜单,具体实现方法是先单击UltraEdit 的“高级”菜单中的“工具配置”命令,如图4.22所示,在打开的配置窗口中依次输入以下内容:
在“菜单项目名”栏输入“PC-lint Check Current File”;
在“命令行”栏输入以下命令:C:PCLintlint-nt –u -iC:PCLint std env-si %f 其中,C:PCLint是PC-Lint的安装目录,使用std.lnt 中的配置,由于UltraEdit 和Source Insightde 的检查环境类似,所以借用env-si 中的环境配置;
在“工作目录”栏输入以下路径:E:code,这是代码所在目录;
选中“先保存所有文件”选项;
在“命令输出”栏中,选中“输出到列表”和“捕捉输出”两个选项;
点“插入”将命令行插入UltraEdit 的菜单中;
图4.22 在UltraEdit中添加定制命令此时在UltraEdit 的“高级”菜单中会增加一个“PC-lint Check Current File”菜单,点击该菜单即可对当前文件执行PC-lint检查。
⑶ visualstudio2012计算代码
VS2005,2003和2002的开源行计数器可在此处获得:
http://www.wndtabs.com/
此处还讨论了创建一个计算VS插件的行,在Codeproject上完成代码
http://www.codeproject.com/KB/macros/LineCounterAddin.aspx
另外Slick Edit Gadgets有一个很好的行计数器,这里:
http://www.slickedit.com/procts/slickedit
和Microsoft Visual Studio Team System 2008包括一个良好的行计数器。
请记住:
通过代码行测量编程进度就像按重量测量飞机构建进度一样。 比尔盖茨
#3楼
在Visual Studio Team System 2008中,您可以从菜单Analyze - >'Calculate Code Metrics for Solution'中进行操作,它将为您提枣碰坦供整个解决方案的行数(除其他外g )
#4楼
我发现powershell对此很有用。 我认为LoC无论如何都是一个非常虚假的指标,所以我不相信任何更正式的要求。
从一个小的解决方案的目录:
PS C:\Path> (gci -include *.cs,*.xaml -recurse | select-string .).Count
8396
PS C:\Path>
这将计算所有解决方案的.cs和.xaml文件中的非空行。 对于更大的项目,我只使用了不同的扩展名列表:
PS C:\Other> (gci -include *.cs,*.cpp,*.h,*.idl,*.asmx -recurse | select-string .).Count
909402
PS C:\Other>
为什么在单个命令行执行时会使用整个应用程序? :)
#5楼
cloc是一个出色的命令行,基于Perl的Windows可执行文件,它将分解按文件格式分组的空白行,注释行和源代码行。
现在它不会专凳桐门在VS解决方案文件上运行,但它可以通过目录递吵脊归,您可以根据需要设置文件名过滤器。
以下是其网页的示例输出:
prompt> cloc perl-5.10.0.tar.gz
4076 text files.
3883 unique files.
1521 files ignored.
http://cloc.sourceforge.net v 1.07 T=10.0 s (251.0 files/s, 84566.5 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code scale 3rd gen. equiv
-------------------------------------------------------------------------------
Perl 2052 110356 112521 309778 x 4.00 = 1239112.00
C 135 18718 22862 140483 x 0.77 = 108171.91
C/C++ Header 147 7650 12093 44042 x 1.00 = 44042.00
Bourne Shell 116 3402 5789 36882 x 3.81 = 140520.42
Lisp 1 684 2242 7515 x 1.25 = 9393.75
make 7 498 473 2044 x 2.50 = 5110.00
C++ 10 312 277 2000 x 1.51 = 3020.00
XML 26 231 0 1972 x 1.90 = 3746.80
yacc 2 128 97 1549 x 1.51 = 2338.99
YAML 2 2 0 489 x 0.90 = 440.10
DOS Batch 11 85 50 322 x 0.63 = 202.86
HTML 1 19 2 98 x 1.90 = 186.20
-------------------------------------------------------------------------------
SUM: 2510 142085 156406 547174 x 2.84 = 1556285.03
-------------------------------------------------------------------------------
第三代等效量表是对第三代语言所需代码量的粗略估计。 不是非常有用,但无论如何都很有趣。
#6楼
这里的答案有点过时,可能来自vs 2008时间。 因为在较新的Visual Studio版本2010/2012中,此功能已内置。 因此,没有理由使用任何扩展或工具。
计算代码行的功能 - 计算指标。 有了它,您可以计算每个项目或解决方案的指标(LOC,维护指数,Cyclomatic指数,继承深度)。
在解决方案资源管理器中右键单击解决方案或项目
并选择“计算指标”
以后可以将用于分析和聚合的数据导入Excel。 同样在Excel中,您可以过滤掉生成的类或指标中的其他噪音。 这些指标(包括代码行LOC)也可以在构建过程中收集,并包含在构建报告中
#7楼
显然工具更容易,但我觉得很酷在powershell :)
此脚本查找.sln文件中的所有.csproj引用,然后在每个csproj文件中找到包含在编译中的文件。 对于包含在编译中的每个文件,它会创建一个具有属性的对象:Solution,Project,File,Lines。 它将所有这些对象存储在列表中,然后根据需要对数据进行分组和投影。
#path to the solution file e.g. "D:\Code\Test.sln"
$slnFile = "D:\Code\Test.sln"
#results
$results = @()
#iterate through .csproj references in solution file
foreach($projLines in get-item $slnFile | Get-Content | Select-String '".*csproj')
{
$projFile = [System.IO.Path]::Combine([System.IO.Path]::GetDirectoryName($slnFile), [regex]::Match($projLines,'[^"]*csproj').Value)
$projFolder = [System.IO.Path]::GetDirectoryName($projFile)
#from csproj file: get lines for files to compile <Compile Include="..."/>
$includeLines = get-item $projFile | Get-Content | Select-String '<Compile Include'
#count of all files lines in project
$linesInProject = 0;
foreach($fileLine in $includeLines)
{
$includedFilePath = [System.IO.Path]::Combine($projFolder, [Regex]::Match($fileLine, '"(?<file>.*)"').Groups["file"].Value)
$lineCountInFile = (Get-Content $includedFilePath).Count
$results+=New-Object PSObject -Property @{ Solution=$slnFile ;Project=$projFile; File=$includedFilePath; Lines=$lineCountInFile }
}
}
#filter out any files we dont need
$results = $results | ?{!($_.File -match "Designer")}
#print out:
"---------------lines per solution--------------"
$results | group Solution | %{$_.Name + ": " + ($_.Group | Measure-Object Lines -Sum).Sum}
"---------------lines per peoject--------------"
$results | group Project | %{$_.Name + ": " + ($_.Group | Measure-Object Lines -Sum).Sum}
#8楼
这是Trick ..它也计算Js文件。
http://www.spoiledtechie.com/post/2011/11/22/How-To-Count-Lines-of-Code-in-Visual-Studio.aspx
#9楼
正则表达式在VS2010和2012之间发生了变化,因此这里的大多数正则表达式解决方案都不再有效
(^(?!(\s*//.+)))+(^(?!(#.+)))+(^(?!(\s*\{.+)))+(^(?!(\s*\}.+)))+(^(?!(\s*\r?$)))+
将找到所有非空白的行,不仅仅是一个括号('{'或'}'),而不仅仅是#include或其他预处理器。
使用Ctrl - shift - f并确保启用正则表达式。
VS 2010及更早版本的相应正则表达式为
^~(:Wh@//.+)~(:Wh@\{:Wh@)~(:Wh@\}:Wh@)~(:Wh@/#).+
#10楼
以下是Visual Studio 2012/2013/2015的更新,适用于那些想要执行“查找”选项(我认为最简单)的人:此RegEx将查找包含多个排除项的所有非空白行,以提供最准确的结果。
在“查找”框中输入以下RegEx。 请务必选择“使用正则表达式”选项。 根据您的需要将搜索选项更改为“当前项目”或“整个解决方案”。 现在选择“全部查找”。 在“ 查找结果”窗口的底部,您将看到“匹配行”,即代码行数。
^(?!(\s*\*))(?!(\s*\-\-\>))(?!(\s*\<\!\-\-))(?!(\s*\n))(?!(\s*\*\/))(?!(\s*\/\*))(?!(\s*\/\/\/))(?!(\s*\/\/))(?!(\s*\}))(?!(\s*\{))(?!(\s(using))).*$
此RegEx不包括以下项目:
评论
// This is a comment
多行注释(假设行正确注释,每行前面有*)
/* I am a
* multi-line
* comment */
用于智能感知的XML
/// <summary>
/// I'm a class description for Intellisense
/// </summary>
HTML评论:
<!-- I am a HTML Comment -->
使用陈述:
using System;
using System.Web;
打开花括号:
{
闭合花括号:
}
注意:大括号之间的任何内容都将包含在搜索中,但在此示例中,只计算4行代码,而不是18个实际的非空白行:
public class Test
{
/// <summary>
/// Do Stuff
/// </summary>
public Test()
{
TestMe();
}
public void TestMe()
{
//Do Stuff Here
/* And
* Do
* Stuff
* Here */
}
}
我创建了这个以给我一个比以前的选项更准确的LOC计数,并认为我会分享。 老板喜欢LOC计数,所以我坚持了一段时间。 我希望其他人可以找到这个有用的,如果您有任何问题或需要帮助让它工作,请告诉我。
#11楼
其他简单工具适用于VS2008(开源): http : //www.accendo.sk/Download/SourceStat.zip
#12楼
您可以使用免费工具SourceMonitor
提供了许多措施:代码行,语句计数,复杂性,块深度
通过图表输出图形
#13楼
您可以使用Visual Studio代码指标PowerTool 10.0 。 它是一个命令行实用程序,可以为您计算托管代码的一些指标(包括代码行)。 您可以获得一个VS 2010插件, 将该工具引入Visual Studio ,并使其快速选择菜单项并单击“Analyze Solution”。
#14楼
找到这个提示: LOC与VS查找和替换
不是插件,如果这就是你要找的东西。
#15楼
一个简单的解决方案是搜索所有文件。 使用通配符时键入“*”。 哪个会匹配所有线路。 在查找结果窗口的末尾,您应该看到排序的一行:
Matching lines: 563 Matching files: 17 Total files searched: 17
当然,这对于大型项目来说并不是很好,因为所有行都被配对并加载到内存中以便在查找结果窗口中显示。
参考:
高级示例
#16楼
我更喜欢OxyProject Metrics VS Addin。
#17楼
尝试neptuner。 除了LoC之外,它还为您提供空格,制表符,注释行等内容。 http://neptuner.googlecode.com/files/neptuner_0_30_windows.zip
#18楼
在Visual Studio 2015中,转到“分析”菜单,然后选择“计算代码度量标准”。
#19楼
Visual Studio 2010 Ultimate具有此内置功能。
分析 - >计算代码度量标准
#20楼
您可以在Visual Studio 2010中使用Project Line Counter加载项。通常它不能与Visual Studio 2010一起使用,但它可以使用有用的.reg文件: http : //www.onemanmmo.com/index。 PHP?CMD = newsitem及评论= news.1.41.0
#21楼
使用Visual Studio 2010 Ultimate中的菜单 - >分析 - >计算代码度量标准选项。
#22楼
我想出了一个快速而脏的PowerShell脚本,用于计算文件夹结构中的行数。 它不像其他答案中引用的其他工具那样功能齐全,但我认为在项目或解决方案中提供相对于彼此的代码文件大小的粗略比较是足够好的。
脚本可以在这里找到:
https://gist.github.com/1674457
#23楼
我用了Ctrl + Shift + F. 接下来,在搜索框中输入\\n并启用正则表达式框。 然后在查找结果中,在屏幕的末尾是搜索到的文件数和找到的代码行。
#24楼
同意Ali Parr。 WndTab Line Counter addin就是这样一个工具。 http://www.codeproject.com/KB/macros/linecount.aspx
从下载站点搜索以查找一些相关工具也是一个好主意。 http://www.cnet.com/1770-5_1-0.html?query=code+counter&tag=srch
#25楼
对于未来的读者,我想建议Visual Studio 2010的DPack扩展 。
它内置了大量的实用程序,包括一个行计数器,它表示有多少行是空白的,代码等等。
原文链接:https://es.sofbug.com/question/5DoH
点
⑷ 如何在slickedit里调用keilC编译器
如何在slickedit里调用keilC编译器
预备知识:说白了就是要弄清slickedit的脾气和编译器的脾气,这样才能把两个撮合到一块。
1.各编译器的编译/链接命令和相关命令行参数
2.slickedit命令行中%f、%bn等内部环境变量的含义
有Slickedit与KeilC有两个脾气不合的问题需要处理:
1.a51.exe/c51.exe等程序的Errorlevel值是分成了0,1,2,3三种,而slickedit只认0和>0两种,0表示no error,>0表示有error。这样的话当vsbuild在complier阶段调用c51.exe编译出现warning时,得到的errorlevel是1,误认为有错误,就不执行后面的linker命令了。
2.slickedit的linker命令行中,%f变量代表的object文件列表是以逗号分格的,而keilC的bl51.exe需要的文件列表参数是以空格分格,需要做一定的转换。
为了解决这个问题,我这里使用批处理文件将文件列表与errorlevel进行转换。
转载,仅供参考。