c++自定义Debug输出宏

#pragma once
#include <stdio.h>
#include <iostream>

#define RESET "\033[0m"
#define BLACK "\033[30m" /* Black */
#define RED "\033[31m" /* Red */
#define GREEN "\033[32m" /* Green */
#define YELLOW "\033[33m" /* Yellow */
#define BLUE "\033[34m" /* Blue */
#define MAGENTA "\033[35m" /* Magenta */
#define CYAN "\033[36m" /* Cyan */
#define WHITE "\033[37m" /* White */
#define BOLDBLACK "\033[1m\033[30m" /* Bold Black */
#define BOLDRED "\033[1m\033[31m" /* Bold Red */
#define BOLDGREEN "\033[1m\033[32m" /* Bold Green */
#define BOLDYELLOW "\033[1m\033[33m" /* Bold Yellow */
#define BOLDBLUE "\033[1m\033[34m" /* Bold Blue */
#define BOLDMAGENTA "\033[1m\033[35m" /* Bold Magenta */
#define BOLDCYAN "\033[1m\033[36m" /* Bold Cyan */
#define BOLDWHITE "\033[1m\033[37m" /* Bold White */


#define DEBUG_ON
#ifdef DEBUG_ON

#define DEBUG(format, ...) do{\
		const char *str = strrchr(__FILE__, '\\');\
		str++;\
		std::cout << YELLOW << "Fun:" << __FUNCTION__ << " "  << RESET ; \
        printf("Line:%d, "format", File:%s \n" , __LINE__, ##__VA_ARGS__, str);    \
                                                                                    \
} while(0)

#else
#define DEBUG(format, ...)
#endif


#define INFO_ON
#ifdef INFO_ON 

#define INFO(format, ...) do{\
		std::cout << BLUE << "[INFO] " << RESET ; \
        printf("Line:%d, "format"\n" , __LINE__, ##__VA_ARGS__);    \
                                                                                    \
} while(0)

#define ERROR(format, ...) do{\
		std::cout << BLUE << "[ERROR] " << RESET ; \
        printf("Line:%d, "format"\n" , __LINE__, ##__VA_ARGS__);    \
                                                                                    \
} while(0)


#else
#define INFO(format, ...)
#define ERROR(format, ...)
#endif



使用方法:

DEBUG("This debug info.");

DEBUG("This debug data %d %d", 1, 2);

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
附件是VS2010的工程,C++日志类,谷歌的东西,很好用,也很强大哦! glog简介 Google glog是一个基于程序级记录日志信息的c++库,编程使用方式与c++的stream操作类似,例: LOG(INFO) << "Found " << num_cookies << " cookies"; “LOG”为日志输出关键字,“INFO”为严重性程度。 主要支持功能: 1, 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为; 2, 严重性分级,根据日志严重性分级记录日志; 3, 可有条件地记录日志信息; 4, 条件中止程序。丰富的条件判定,可预设程序终止条件; 5, 异常信号处理。程序异常情况,可自定义异常处理过程; 6, 支持debug功能。可只用于debug模式; 7, 自定义日志信息; 8, 线程安全日志记录方式; 9, 系统级日志记录; 10, google perror风格日志信息; 11, 精简日志字符串信息。 开源代码托管 开源代码地址:https://github.com/google/glog 其实官方开源代码已经有大量demo可以参考了,也提供了VS可以直接打开编译的项目。 如何使用 1:把glog文件夹拷贝到源代码目录 2:在工程设置中添加附加包含目录(glog\include;)和附加库目录(glog\lib;),在附件依赖项中添加对应lib文件,一一对应关系如下: MDd libglog32MDd.lib MD libglog32MD.lib MTd libglog32MTd.lib MT libglog32MT.lib 建议使用MDd和MD方式,带上对应的dll(在glog\bin目录,需要时拷贝到bin文件输出目录)可以避免使用MTd,MT引起的内存泄露是值得的。 #include #include using namespace std; //包含glog头文件,建议放在stdafx.h中 //#define GOOGLE_GLOG_DLL_DECL // 使用静态库的时候用这个,不过我测试静态库有内存泄露,所以不推荐使用静态库 #define GLOG_NO_ABBREVIATED_SEVERITIES #include "glog/logging.h" //获取当前程序的运行目录 string GetAppPathA() { char szExePath[MAX_PATH] = {0}; GetModuleFileNameA(NULL,szExePath,MAX_PATH); char *pstr = strrchr(szExePath,'\\'); memset(pstr+1,0,1); string strAppPath(szExePath); return strAppPath; } void main() { //glog初始化 google::InitGoogleLogging("重签程序"); string strLogPath = GetAppPathA().append("LogInfo\\"); CreateDirectoryA(strLogPath.c_str(),NULL); google::SetLogDestination(google::GLOG_INFO,strLogPath.c_str()); //功能测试 LOG(INFO)<<"log start...";//普通日志 LOG(WARNING)<<"Warning log";//警告日志 LOG(ERROR)<<"Error log";//错误日志 int i = 4; LOG_IF(INFO,i == 4)<<"Log if Test"; //以上就是我常用的几个日志函数了,当然还有很多更加强大的日志相关函数,大家如有有兴趣,可以参照官方给的示例使用, //开源代码地址:https://github.com/google/glog MessageBoxA(NULL,"Test Over",":)",MB_ICONINFORMATION); } 测试程序中,我使用的动态链接库方式。(Debug模式中代码生成为MDd,Release为MD)。lib是截止现在2015-11-04-21:35是最新的。采用VS2010编译,MTd,MT,MDd,MD方式编译在测试项目中都有提供。 博文地址: http://blog.csdn.net/sunflover454/article/details/49643625
谭浩强教授,我国著名计算机教育专家。1934年生。1958年清华大学毕业。学生时代曾担任清华大学学生会主席、北京市人民代表。他是我国计算机普及和高校计算机基础教育开拓者之一,现任全国高等院校计算机基础教育研究会会长、教育部全国计算机应用技术证书考试委员会主任委员。 谭浩强教授创造了3个世界纪录:(1)20年来他(及和他人合作)共编著出版了130本计算机著作,此外主编了250多本计算机书籍,是出版科技著作数量最多的人。(2)他编著和主编的书发行量超过4500万册,是读者最多的科技作家。我国平均每30人、知识分子每1.5人就拥有1本谭浩强教授编著的书。(3)他和别人合作编著的《BASIC语言》发行了1200万册,创科技书籍发行量的世界纪录。此外,他编著的《C程序设计》发行了600万册。他曾在中央电视台主讲了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七种计算机语言,观众超过300万人。 在我国学习计算机的人中很少有不知道谭浩强教授的。他善于用容易理解的方法和语言说明复杂的概念。许多人认为他开创了计算机书籍贴近大众的新风,为我国的计算机普及事业做出了重要的贡献。 谭浩强教授曾获全国高校教学成果国家级奖、国家科技进步奖,以及北京市政府授予的“有突出贡献专家”称号。《计算机世界》报组织的“世纪评选”把他评为我国“20世纪最有影响的IT人物”10个人之一(排在第2位)。他的功绩是把千百万群众带入计算机的大门。 1 C语言概述 1.1 C语言的发展过程 1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 C语言的字符集 1.12 C语言词汇 1.13 Turbo C 2.0 集成开发环境的使用 1.13.1 Turbo C 2.0 简介和启动 1.13.2 Turbo C 2.0 集成开发环境 1.13.3 File菜单 1.13.4 Edit 菜单 1.13.5 Run 菜单 1.13.6 Compile 菜单 11.13.7 Project 菜单 1.13.8 Options菜单 1.13.9 Debug 菜单 1.13.10 Break/watch 菜单 1.13.11 Turbo C 2.0 的配置文件 2 程序的灵魂—算法 2.1 算法的概念 21 2.2 简单算法举例 21 2.3 算法的特性 24 2.4 怎样表示一个算法 24 2.4.1 用自然语言表示算法 24 2.4.2 用流程图表示算法 24 2.4.3 三种基本结构和改进的流程图 28 2.4.4 用N-S 流程图表示算法 29 2.4.5 用伪代码表示算法 30 2.4.6 用计算机语言表示算法 31 2.5 结构化程序设计方法 31 3 数据类型、运算符与表达式 3.1 C语言的数据类型 32 3.2 常量与变量 33 23.2.1 常量和符号常量 33 3.2.2 变量 33 3.3 整型数据 34 3.3.1 整型常量的表示方法 34 3.3.2 整型变量 35 3.4 实型数据 37 3.4.1 实型常量的表示方法 37 3.4.2 实型变量 38 3.4.3 实型常数的类型 39 3.5 字符型数据 39 3.5.1 字符常量 39 3.5.2 转义字符 39 3.5.3 字符变量 40 3.5.4 字符数据在内存中的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术运算符和算术表达式 45 3.9 赋值运算符和赋值表达式 47 33.10 逗号运算符和逗号表达式 48 3.11 小结 49 3.11.1 C的数据类型 49 3.11.2 基本类型的分类及特点 49 3.11.3 常量后缀 49 3.11.4 常量类型 49 3.11.5 数据类型转换 49 3.11.6 运算符优先级和结合性 50 表达式 50 4 最简单的 C程序设计—顺序程序设计 4.1 C语句概述 51 4.2 赋值语句 53 4.3 数据输入输出的概念及在 C 语言中的实现 54 4.4 字符数据的输入输出 54 4.4.1 putchar 函数(字符输出函数) 54 4.4.2 getchar函数(键盘输入函数) 55 4.5 格式输入与输出 55 4.5.1 printf 函数(格式输出函数) 56 4.5.2 scanf函数(格式输入函数)
已经破解的代码编辑器,免安装的里面有破解的注册码 很小但是功能却很强大,编辑网页可以随时预览,能够多人工作。 附使用手册: Editplus使用技巧 技巧中,在编译器集成例子中参照了部分官方的文献。有几篇是从网上搜集来的,这里我注明了来源或原始作者。如果你是相应作者,不希望文章放在这里,请通知我,我会及时 删掉。 —————————————————— 文章或者技巧及原始作者或出处: 正则表达式类 【1】 正则表达式应用——替换指定内容到行尾 【2】 正则表达式应用——数字替换—————————-Microshaoft,jiuk2k 【3】 正则表达式应用——删除每一行行尾的指定字符 【4】 正则表达式应用——替换带有半角括号的多行 【5】 正则表达式应用——删除空行—————————-江德华 软件技巧类 —————————————————— 【6】 软件技巧——键盘记录的注意事项 【7】 软件技巧——关闭文档标签的便捷方法 【8】 软件技巧——如何去掉 EditPlus 保存文本文件时的添加后缀提示? 【9】 软件技巧——提示找不到语法文件的解决办法 【10】软件技巧——设置editplus支持其它文字,如韩文———-jackywu1978 【11】软件技巧——FTP 上传的设置—————————-李应文2.11汉化版 【12】软件技巧——如何禁用备份文件功能? 【13】软件技巧——添加语法文件、自动完成文件、以及剪辑库文件 工具集成类 —————————————————— 【14】工具集成——编译器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis、C#) 【15】工具集成——让Editplus调试PHP程序———————-avenger,aukw 【16】工具集成——打造 PHP 调试环境(二)———————-老七2.11汉化版 【17】在 WINPE 中集成 EDITPLUS 【1】正则表达式应用——替换指定内容到行尾 原始文本如下面两行 abc aaaaa 123 abc 444 希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg” 即上面的文本最终替换为: abc efg 123 abc efg 解决: ① 在替换对话框,查找内容里输入“abc.*” ② 同时勾选“正则表达式”复选框,然后点击“全部替换”按钮 其中,符号的含义如下: “.” =匹配任意字符 “*” =匹配0次或更多 注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。 【2】正则表达式应用——数字替换 希望把 asdadas123asdasdas456asdasdasd789asdasd 替换为: asdadas[123]asdasdas[456]asdasdasd[789]asdasd 在替换对话框里面,勾选“正则表达式”复选框; 在查找内容里面输入“[0-9][0-9][0-9]”,不含引号 “替换为:”里面输入“[\0\1\2]”,不含引号 范围为你所操作的范围,然后选择替换即可。 实际上这也是正则表达式的使用特例,“[0-9]”表示匹配0~9之间的任何特例,同样“[a-z]”就表示匹配a~z之间的任何特例 【1】正则表达式应用——替换指定内容到行尾 原始文本如下面两行 abc aaaaa 123 abc 444 希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg” 即上面的文本最终替换为: abc efg 123 abc efg 解决: ① 在替换对话框,查找内容里输入“abc.*” ② 同时勾选“正则表达式”复选框,然后点击“全部替换”按钮 其中,符号的含义如下: “.” =匹配任意字符 “*” =匹配0次或更多 注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。 【2】正则表达式应用——数字替换 (Microshaoft@CCF,jiuk2k@CCF) 希望把 asdadas123asdasdas456asdasdasd789asdasd 替换为: asdadas[123]asdasdas[456]asdasdasd[789]asdasd 在替换对话框里面,勾选“正则表达式”复选框; 在查找内容里面输入“[0-9][0-9][0-9]”,不含引号 “替换为:”里面输入“[\0\1\2]”,不含引号 范围为你所操作的范围,然后选择替换即可。 实际上这也是正则表达式的使用特例,“[0-9]”表示匹配0~9之间的任何特例,同样“[a-z]”就表示匹配a~z之间的任何特例 上面重复使用了“[0-9]”,表示连续出现的三个数字 “\0”代表第一个“[0-9]”对应的原型,“\1”代表第二个“[0-9]”对应的原型,依此类推 “[”、“]”为单纯的字符,表示添加“[”或“]”,如果输入“其它\0\1\2其它”,则替换结果为: asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd 功能增强(by jiuk2k@CCF): 如果将查找内容“[0-9][0-9][0-9]”改为“[0-9]*[0-9]”,对应1 或 123 或 12345 或 … 大家根据需要定制 相关内容还有很多,可以自己参考正则表达式的语法仔细研究一下 【3】正则表达式应用——删除每一行行尾的指定字符 因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现 比如 12345 1265345 2345 需要删除每行末尾的“345” 这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下 解决: 在替换对话框中,启用“正则表达式”复选框 在查找内容里面输入“345$” 这里“$”表示从行尾匹配 如果从行首匹配,可以用“^”来实现,不过 EditPlus 有另一个功能可以很简单的删除行首的字符串 a. 选择要操作的行 b. 编辑-格式-删除行注释 c. 在弹出对话框里面输入要清除的行首字符,确定 【4】正则表达式应用——替换带有半角括号的多行 几百个网页中都有下面一段代码: 我想把它们都去掉,可是找了很多search & replace的软件,都是只能对“一行”进行操作。 EditPlus 打开几百个网页文件还是比较顺畅的,所以完全可以胜任这个工作。 具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “ \n” 时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意字符标记替代,即半角句号:“.”。替换内容为 \n 在替换对话框启用“正则表达式”选项,这时就可以完成替换了 补充:(lucida@DRL) 对( ) 这样的特殊符号,应该用\( \)来表示,这也是很标准的regexp语法,可以写为 \n 【5】正则表达式应用——删除空行 启动EditPlus,打开待处理的文本类型文件。 ①、选择“查找”菜单的“替换”命令,弹出文本替换对话框。选中“正则表达式”复选框,表明我们要在查找、替换中使用正则表达式。然后,选中“替换范围”中的“当前文件”,表明对当前文件操作。 ②、单击“查找内容”组合框右侧的按钮,出现下拉菜单。 ③、下面的操作添加正则表达式,该表达式代表待查找的空行。(技巧提示:空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。 直接在"查找"中输入正则表达式“^[ \t]*\n”,注意\t前有空格符。 (1)选择“从行首开始匹配”,“查找内容”组合框中出现字符“^”,表示待查找字符串必须出现在文本中一行的行首。 (2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。 (3)按一下空格键,添加空格符。空格符是空行的一个组成成分。 (4)选择“制表符”,添加代表制表符的“\t”。 (5)移动光标,将当前插入点移到“]”之后,然后选择“匹配 0 次或更多”,该操作会添加星号字符“*”。星号表示,其前面的括号“[]”内的空格符或制表符,在一行中出现0个或多个。 (6)选择“换行符”,插入“\n”,表示回车符。 ④、“替换为”组合框保持空,表示删除查找到的内容。单击“替换”按钮逐个行删除空行,或单击“全部替换”按钮删除全部空行(注意:EditPlus有时存在“全部替换”不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。 【6】软件技巧——键盘记录的注意事项 EditPlus的键盘记录有些类似于 UltraEdit 的操作,不过功能相对单一,录制的文件可编辑性较差。 由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找对话框、关闭替换对话框,等等 其它键盘快捷键在“帮助-快捷键列表”里面可以很容易的查找到,这里就 细说了。 【7】软件技巧——关闭文档标签的便捷方法 右键单击文档标签工具条,弹出菜单中选择“标签选项”,选中“用鼠标中间的按钮关闭”,这里包括鼠标的滚轮。 【8】软件技巧——如何去掉 EditPlus 保存文本文件时的添加后缀提示? 如果你使用 EditPlus 进行文本编辑,那么每次创建文本文件,编辑后保存时,尽管文件类型下拉列表中显示的是文本文件, EditPlus 还是询问你是否添加".txt"后缀,是不是很烦? 解决方法: ① 在程序目录建立一个空的文件“template.txt” ② “工具-参数设置-模板”里面,单击“添加”按钮添加模板,“菜单文本”这里输入“Text”,浏览“template.txt”,之后确定即可 ③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带有扩展名".txt",也就避免了令人头疼的确认 ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了点,不过管用 要自动创建带有某种后缀的文件,方法同上。 【9】软件技巧——提示找不到语法文件 *.stx 的解决办法 原因多为设置的语法文件不存在或者是路径设置不对。这是因为 EditPlus 的语法是设置文件采用的是绝对路径,而在你设置了语法文件之后,再把程序复制到其它目录,因而导致 EditPlus 无法找到该语法文件。 解决办法: 在主程序目录里,找到 Setting.ini 这是 EditPlus 存放语法的文件 查找后缀为“.stx”、“acp”的文本内容,或者查找带有驱动器符号的行,比如 Syntax file=C:\Program Files\EditPlus 2\cpp.stx 那么,就把”C:\Program Files\EditPlus 2\“替换成你当前软件的路径。 其它提示找不到文件的解决方法同上 【10】软件技巧——设置editplus支持其它文字,如韩文 在editplus里打开文件,出来打开文件对话框;然后点击“转换器”后面的那个省略号,会出来自定义转换器对话框;在右边选择你需要的编码方式,添加到左边,然后点确定;最后在下拉框中选择需要的编码方式,然后打开文件即可。 【11】软件技巧——FTP 上传的设置 “文件->远程操作->FTP 上传”在“设置”选项卡中设置好参数(“子目录”前面应该加“/”如“/web/”),点击“确定”回到“FTP 上传”选项卡,然后点击“上传”即可;“批量上传”的设置类似。 【12】软件技巧——如何禁用备份文件功能? 在“参数选择”的文件选项页,禁用“'保存时自动创建备份文件”选项 【13】软件技巧——添加语法文件、自动完成文件、以及剪辑库文件 要添加 *.STX(语法文件)或 *.ACP(自动完成文件): 1. 选择“参数选择→语法” 2. 单击“添加”按钮,命名,在“扩展名”部分输入对应扩展名(不带“.”) 3. 浏览/输入 STX(语法文件部分) 以及 ACP(自动完成文件部分)。 添加剪辑库文件(*.CTL) 复制相应 *.CTL 文件到软件安装目录,重新启动 EditPlus ,则系统自动识别。 上面重复使用了“[0-9]”,表示连续出现的三个数字 “\0”代表第一个“[0-9]”对应的原型,“\1”代表第二个“[0-9]”对应的原型,依此类推 “[”、“]”为单纯的字符,表示添加“[”或“]”,如果输入“其它\0\1\2其它”,则替换结果为: asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd 功能增强(by jiuk2k): 如果将查找内容“[0-9][0-9][0-9]”改为“[0-9]*[0-9]”,对应1 或 123 或 12345 或 … 大家根据需要定制 相关内容还有很多,可以自己参考正则表达式的语法仔细研究一下 【3】正则表达式应用——删除每一行行尾的指定字符 因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现 比如 12345 1265345 2345 需要删除每行末尾的“345” 这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下 解决: 在替换对话框中,启用“正则表达式”复选框 在查找内容里面输入“345$” 这里“$”表示从行尾匹配 如果从行首匹配,可以用“^”来实现,不过 EditPlus 有另一个功能可以很简单的删除行首的字符串 a. 选择要操作的行 b. 编辑-格式-删除行注释 c. 在弹出对话框里面输入要清除的行首字符,确定 【4】正则表达式应用——替换带有半角括号的多行 几百个网页中都有下面一段代码: \n 在替换对话框启用“正则表达式”选项,这时就可以完成替换了 【5】正则表达式应用——删除空行 启动EditPlus,打开待处理的文本类型文件。 ①、选择“查找”菜单的“替换”命令,弹出文本替换对话框。选中“正则表达式”复选框,表明我们要在查找、替换中使用正则表达式。然后,选中“替换范围”中的“当前文件”,表明对当前文件操作。 ②、单击“查找内容”组合框右侧的按钮,出现下拉菜单。 ③、下面的操作添加正则表达式,该表达式代表待查找的空行。(技巧提示:空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。 直接在”查找”中输入正则表达式“^[ \t]*\n”,注意\t前有空格符。 (1)选择“从行首开始匹配”,“查找内容”组合框中出现字符“^”,表示待查找字符串必须出现在文本中一行的行首。 (2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。 (3)按一下空格键,添加空格符。空格符是空行的一个组成成分。 (4)选择“制表符”,添加代表制表符的“\t”。 (5)移动光标,将当前插入点移到“]”之后,然后选择“匹配 0 次或更多”,该操作会添加星号字符“*”。星号表示,其前面的括号“[]”内的空格符或制表符,在一行中出现0个或多个。 (6)选择“换行符”,插入“\n”,表示回车符。 ④、“替换为”组合框保持空,表示删除查找到的内容。单击“替换”按钮逐个行删除空行,或单击“全部替换”按钮删除全部空行(注意:EditPlus有时存在“全部替换”不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。 【6】软件技巧——键盘记录的注意事项 EditPlus 的键盘记录有些类似于 UltraEdit 的操作,不过功能相对单一,录制的文件可编辑性较差。 由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找对话框、关闭替换对话框,等等 其它键盘快捷键在“帮助-快捷键列表”里面可以很容易的查找到,这里就 细说了。 【7】软件技巧——关闭文档标签的便捷方法 右键单击文档标签工具条,弹出菜单中选择“标签选项”,选中“用鼠标中间的按钮关闭”,这里包括鼠标的滚轮。 【8】软件技巧——如何去掉 EditPlus 保存文本文件时的添加后缀提示? 如果你使用 EditPlus 进行文本编辑,那么每次创建文本文件,编辑后保存时,尽管文件类型下拉列表中显示的是文本文件, EditPlus 还是询问你是否添加“.txt”后缀,是不是很烦? 解决方法: ① 在程序目录建立一个空的文件“template.txt” ② “工具-参数设置-模板”里面,单击“添加”按钮添加模板,“菜单文本”这里输入“Text”,浏览“template.txt”,之后确定即可 ③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带有扩展名”.txt”,也就避免了令人头疼的确认 ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了点,不过管用 要自动创建带有某种后缀的文件,方法同上。 【9】软件技巧——提示找不到语法文件 *.stx 的解决办法 原因多为设置的语法文件不存在或者是路径设置不对。这是因为 EditPlus 的语法是设置文件采用的是绝对路径,而在你设置了语法文件之后,再把程序复制到其它目录,因而导致 EditPlus 无法找到该语法文件。 解决办法: 在主程序目录里,找到 Setting.ini 这是 EditPlus 存放语法的文件 查找后缀为“.stx”、“acp”的文本内容,或者查找带有驱动器符号的行,比如 Syntax file=C:\Program Files\EditPlus 2\cpp.stx 那么,就把”C:\Program Files\EditPlus 2\“替换成你当前软件的路径。 其它提示找不到文件的解决方法同上 【10】软件技巧——设置editplus支持其它文字,如韩文 在editplus里打开文件,出来打开文件对话框;然后点击“转换器”后面的那个省略号,会出来自定义转换器对话框;在右边选择你需要的编码方式,添加到左边,然后点确定;最后在下拉框中选择需要的编码方式,然后打开文件即可。 【11】软件技巧——FTP 上传的设置 “文件->远程操作->FTP 上传”在“设置”选项卡中设置好参数(“子目录”前面应该加“/”如“/web/”),点击“确定”回到“FTP 上传”选项卡,然后点击“上传”即可;“批量上传”的设置类似。 【12】软件技巧——如何禁用备份文件功能? 在“参数选择”的文件选项页,禁用“’保存时自动创建备份文件”选项 【13】软件技巧——添加语法文件、自动完成文件、以及剪辑库文件 要添加 *.STX(语法文件)或 *.ACP(自动完成文件): 1. 选择“参数选择→语法” 2. 单击“添加”按钮,命名,在“扩展名”部分输入对应扩展名(不带“.”) 3. 浏览/输入 STX(语法文件部分) 以及 ACP(自动完成文件部分)。 添加剪辑库文件(*.CTL) 复制相应 *.CTL 文件到软件安装目录,重新启动 EditPlus ,则系统自动识别。 【14】工具集成——编译器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis) 在“工具→参数选择→用户工具”选项页设置,设置步骤 设置组名称,这里也可以不设置 ② 单击“添加工具→应用程序”按钮并进行如下设置 ③ 各种类似”$(FilePath)”的参数可以在文本框右侧的箭头下拉菜单中获取,具体含义如下 参数 描述 $(FilePath) 文件路径(文件全名,含目录和文件名) $(FileDir) 文件目录(不带文件名) $(FileName) 文件名(不带目录) $(FileNameNoExt) 不带扩展名的文件名(不带目录) $(FileExt) 扩展名(当前文件) $(ProjectName) 工程名称(当前工程名) $(CurLine) 当前行号(光标位置处的行号) $(CurCol) 当前列号(光标位置处的列号) $(CurSel) 当前文本(插入当前选定文本) $(CurWord) 当前单词(插入当前单词) $(WindowList) 显示当前窗口列表并选择特定文件 例子 1. Java 编译器 菜单文本:Java 编译器 命令:c:\java\bin\javac.exe 参数:”$(FilePath)” 初始目录:$(FileDir) 捕获输出:开启 要运行已编译的 Java 类文件,你可以进行如下设置: 菜单文本:Java 命令:c:\java\bin\java.exe 参数:$(FileNameNoExt) 初始目录:$(FileDir) “命令”部分应当替换为实际的 Java 解释器的路径。 例子 2. Borland C++ 菜单文本:Borland C 命令:c:\bc\bin\bcc32.exe 参数:-Ic:\bc\include -Lc:\bc\lib -n$(FileDir) $(FilePath) 初始目录:c:\bc\bin 捕获输出:开启 例子 3. Visual C++ 菜单文本:Visual C++ 命令:c:\msdev\vc98\bin\cl.exe 参数:”$(FilePath)” 初始目录:$(FileDir) 捕获输出:开启 例子 4. Inno Setup 菜单文本:编译 Inno 命令:C:\Program Files\Inno Setup 4\Compil32.exe” 参数:/cc $(FileName) 初始目录:$(FileDir) 捕获输出:开启 例子 5. nsis 菜单文本:编译 nsis 命令:C:\NSIS\makensis.exe 参数:$(FileName) 初始目录:$(FileDir) 捕获输出:开启 例子 6. C# 菜单文本:编译 C# 命令:C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\csc.exe 参数:$(FileName) 初始目录:$(FileDir) 捕获输出:开启 在上面设置中,在命令部分,必须使用系统中各自编译器的绝对路径。 设置完毕后,你可以在“工具”菜单运行对应工具了,运行结果会显示在底部的输出窗口,你也可以通过快捷键(Ctrl + 0-9) 运行,或者是通过“用户工具栏”的快捷按钮运行。 要运行已编译的 *.exe 文件,你可以进行如下设置(此时可执行文件需要和编译文件同名): 菜单文本:Run 命令:$(FileNameNoExt) 参数: 初始目录:$(FileDir) 【15】工具集成—— 让Editplus调试PHP程序 1:打开Editplus,选择”工具->配置用户工具…”菜单。 2:在弹出的窗口中选择”添加工具->应用程序”,给新程序起一个好记的名字,比如这里我们用”Debug PHP”,在”菜单文本”中输入”Debug PHP”。点击”命令行”右边的按钮,找到你的php.exe所在的路径,例如这里是”c:\php\php.exe”。再点击”参数”右边的下拉按钮选择”文件路径”,最后再把”捕获输出”前面的复选框选上。 3:现在测试一下,新建一个php文件,按快捷键Ctrl+1可以激活刚才我们设置的工具(如果你设置了多个工具,快捷键可能会有所不同),现在你可以看到它已经能正常工作了。但是还有一点不太理想:如果你的PHP程序出错,在输出窗口会提示你第几行出错 ,单击这一行提示,Editplus老是提示你找不到某某文件,是否新建。接下下我们要修正这个功能。 4:打开刚才用户工具设置窗口,找到刚才设置的”Debug PHP”工具。点击”捕获输出”复选框旁边的”输出模式”按钮,会弹出一个定义输出模式的窗体,把”使用默认输出模式”前面的复选框去掉, 在”正则表达式”这一项的文本框中输入” ^.+ in (.+) line ([0-9]+) “(不包括引号),细心的朋友可能会发现,这里使用的也正则表达式的语法。然后,在下面的”文件名”下拉菜单中选择”预设表达式 1″,即上边正则表达式中的第一个参数,”行”下拉菜单项选择”预设表达式 2″,”列”下拉项保持为空。然后保存设置。 5:好了,现在再来试一下吧,双击出错的行数,Editplus就会自动激活出错文件,并把光标定位到出错行,是不是特别方便呢?! 现在,Editplus经过我们的”改造“,已经可以即时的调试PHP文件了,虽然还不是”可视化”界面的,但对于一些平常的小程序来查错还是非常好用的。Editplus真是 款不可多得的好工具,如果你有什么使用技巧,不要忘了大家一起分享哦。^O^ 如果不能切换错误行号,请尝试作如下修改: (by aukw) 1.php.ini 中html_errors = Off打开 //如果你不打开,3.中的表达式要修改 2.参数改成:-q -f “$(FilePath)” //不加“符号的话文件名有空格的文件调试失败。。 //-q不输出html头信息,你去掉也行,不过调试时候你一般用不到那些header信息 3.” ^.+ in (.+) line ([0-9]+) ” 改成 “^.+ in (.+) on line ([0-9]+)$” //如果还是不行,请注意调试结果,自己修改表达式来取出文件名和行号 【16】工具集成——打造 PHP 调试环境(二) 1: 把剪辑库定位在 PHP4 Functions 上就可以在编辑时, 利用[插入]->[匹配剪辑]命令,就可以自动完成末输入完整的 PHP 函数(或直接按 F2 键) 2: 类似上面,在选择部分文字后,同样可以自动完成。(同 F2) 3: 在[参数选择]->[设置和语法]->PHP->自动完成, 选择目录下的 php.acp 文件,你可以定制自己的自动完成方式. 4: 想要即时预览文件,可在[参数选择]->[工具]->WEB 服务器中添加本地目录,(注意不要加 http:// , 应是一个有效的站点)。     如: 主机->localhost/php 根目录->D:\php 主机->localhost/asp 根目录->D:\asp 主机->localhost/cgi 根目录->D:\cgi 完成设置后只要脚本文件位于这些目录下(子目录也没问题), 就能够正确解释. 5: 各种语法和模板文件可以在 www.editplus.com 获得,可根据需要选用和编辑。 6: Ctrl+F11 可显示当前文件中的函数列表. 7: 添加各种用户工具.如: 启动MYSQL服务器管理工具->C:\mysql\bin\winmysqladmin.exe 启动Apache服务器->C:\Apache\bin\Apache.exe -k start 启动Apache服务器->C:\Apache\bin\Apache.exe -k stop (shutdown) 8: DBG 附带有一个 prof_results.php 文件,可剖析 PHP 程序的性能. 虽不是真正的调试器,但已经够了. OK! 经过改造后,是不是有点象一个 IDE 什么?还差点,没有即时帮助…看我的,再来: 9: 把 php_manual_en.chm (最好是扩展帮助手册)加入到用户工具中, 当遇到需要参考的关键字时, 把光标定位其上, 按下快捷键 Ctrl+1, 看到了吗. 在输入时有想不起来的函数名时, 先按照第 1 条的方法调出函数, 然后…怎么样? 以上有的是对于调试工具的设置,由于此类工具比较多,大家设置时参考以上的基本就差不多了,所以就不过多的列举了。 【17】在 WINPE 中集成 EDITPLUS 可以基于目前的bartpe做得WINPE中,菜单使用nu2menu制作 默认位置为 \programs\editplus\ 默认系统位置为光盘的 i386 目录 i386/system32 的 autorun.bat 中添加外壳集成(系统右键) regedit /s %SystemDrive%\programs\editplus\REG.REG regsvr32 /s \programs\editplus\EPPSHELL.DLL 复制editplus安装包里面的文件到programs\editplus\,注意,如果有setting.ini,删掉该文件在nu2menu里面加入,可以根据需要安排位于特定菜单条目下 FUNC=”@GetProgramDrive()\Programs\EditPlus\editplus.exe”>本编辑

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值