首先要说明的是, 在editPlus中的ctags功能确实是没有 vs vim等中的好用. 最主要的原因 是它不能直接在文件中 跳转. 而是要通过一个另外的框来实现, 这就大大的降低了跳转的速度和使用体验.
它实现的功能还是用的 CTags, 只不过openCTags.exe对标签做了界面跳转. 然后editplus只是提供了一个接口;
这个CTags功能真的要使用的话, 还是在vim中好用, editplus只是说聊胜于无.
tags是将项目中的文件 / 目录 /子目录 进行递归的扫描, 然后提取 文件 中的 "类/ 结构/函数/ 方法/常量 "等等信息, 写在一个 ???.tags标签文件中, 然后在编辑器中, 就可以通过插件/ 接口, 来读这个tags文件, 从而实现在 编辑器中 在各个函数/方法/类之间 跳转 浏览等等. 你可以看到在项目根目录下 生成的 ???.tags标签文件. 并且可以看到 ctags扫描项目文件/目录, 生成tags文件的cmd界面.
实际是配置成功的, 有完整的说明文档.
================================
// openCTags打开定位的界面
// openCTags 生成的 根目录下的 标签文件
================================
以下是从openCTags压缩包中解压出来的说明文档:
///////////////////////说明文档开始
史上最强编辑器插件OpenCTags使用指南
版本:v1.2.0
一、致谢:
感谢Romeo JunCU的卓绝工作,是他让我们拥有如此好的插件OpenCTags,感谢HonestQiao的辛勤工作,让我们的众多编辑器都可以插上taglist的翅膀。
二、概览:
OpenCTags可以支持UltraEdit、UEStudio、EditPlus、EmEditor、Programmer's Notepad、Komodo Edit、NotePad++、Crimson Editor/Emerald Editor、TextPad、PSPad、AkelPad、PhpStorm、EditPadPro、LopeEdit、vim、emacs等任何一种可以设置用户工具的编辑器。
OpenCTags支持的语言包括:Ant, Asm, Asp, Awk, Basic, BETA, C, C++, C#, Cobol, DosBatch, Eiffel, Erlang, Flex, Fortran, HTML, Java, JavaScript, Lisp, Lua, Make, MatLab, OCaml, Pascal, Perl, PHP, Python, REXX, Ruby, Scheme, Sh, SLang, SML, SQL, Tcl, Tex, Vera, Verilog, VHDL, Vim, YACC,并可以通过适当配置来增加新的语言解析。
其主要用途为根据当前选中的tag(单词或者文本),快速在所有项目文件中定位列表,并可以根据在列表中的选择快速跳转到对应的文件及定位到tag所在的行,方便你在代码中跳来跳去,实乃编程开发和代码阅读的上好利器。
使用:
1. 将解压后目录中的OpenCTags目录(不包含版本号的),拷贝到 编辑器安装目录E:\Program Files下;也可以拷贝到其他目录,但是要对应修改以下的配置;
2. 打开OpenCTags.ini,按照其中的说明,设置编辑器对应的安装路径,即“编辑器安装路径”所对应的列。
配置文件为Json格式,注意保持Json结构。注意Json数组[]的最后一个元素后,不要加“,”符号,但是之前的元素后,则需要加“,”符号。
如果你所使用的编辑器已经存在于OpenCTags的配置的列表中,修改“编辑器安装路径”即可;否则需要按照以下格式配置加入新的编辑器。
editors部分的配置格式,举例如下:
["编辑器名称", "编辑器exe文件名", "编辑窗口类名", "编辑器安装路径", "编辑器调用参数"]
["EditPlus3", "EDITPLUS.EXE", "AfxFrameOrView", "E:\\Program Files\\EditPlus 3\\", "-e \"__PATH____FILENAME__\" -cursor __LINENUMBER__:1 "]
其中,以下宏变量用于设置对应编辑器的命令行调用,从而正确根据选择的tag打开对应的文件并定位到对应的行:
编辑器安装路径:路径符号请使用\\或者/
__PATH__:表示tag所在文件的目录
__FILENAME__:表示对应tag所在文件的文件名
__LINENUMBER__:表示对应tag所在文件中的行数
3. 在编辑器的用户工具中进行如下设置:
a.【假设快捷键为Ctrl+Alt+Shift+1】
菜单名称:OpenCTags索引 以下命令,请根据实际情况设置OpenCTags路径,注意不要漏了""符号
命令:"E:\Program Files\OpenCTags\ctags.exe"
参数: -f "openctags.tags" --totals=yes -V -R * // 这个 --totals=yes 应该是 对项目下的所有文件和 -v -r 目录子目录递归创建.
初始目录:{当前文件目录} // 对项目下的所有文件进行创建ctags, 所有的标签都保存在一个文件中.
程序类型:DOS程序 // 必须是在项目根目录下打开某个文件,才能对整个项目目录进行创建tags.
保存文件:所有打开文件
附加说明:
1) -f 表示ctags文件名
2) 需要在项目根目录下打开某个文件,再调用该工具,然后才可使用b、c、d、e的工具
b.【假设快捷键为Ctrl+2】
菜单名称:OpenCTags定位 以下命令,请根据实际情况设置OpenCTags路径,注意不要漏了""符号
命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
参数: -t "openctags.tags" -word "{当前单词}" -editor "{编辑器名称}" -sel "{当前所选文本}" -file "{当前文件名称}" -line {当前行号}
初始目录:{当前文件目录}
程序类型:Windows程序
保存文件:无
附加说明:
1) -t 表示ctags文件名
2) -file 表示当前文件名称,不包含路径,包含扩展名
3) -path 表示当前文件所在的目录,一般无需设置
c.【假设快捷键为Ctrl+3】
菜单名称:OpenCTags向前查找 以下命令,请根据实际情况设置OpenCTags路径,注意不要漏了""符号
命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
参数: -t "openctags.tags" -word "{当前单词}" -editor "{编辑器名称}" -sel "{当前所选文本}" -file "{当前文件名称}" -line {当前行号} -action p
初始目录:{当前文件目录}
程序类型:Windows程序
保存文件:无
附加说明:
1) -t 表示ctags文件名
2) -file 表示当前文件名称,不包含路径,包含扩展名
3) -path 表示当前文件所在的目录,一般无需设置
4) -action 表示动作,p表示向前搜索tag访问历史
d.【假设快捷键为Ctrl+4】
菜单名称:OpenCTags向后查找 以下命令,请根据实际情况设置OpenCTags路径,注意不要漏了""符号
命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
参数: -t "openctags.tags" -word "{当前单词}" -editor "{编辑器名称}" -sel "{当前所选文本}" -file "{当前文件名称}" -line {当前行号} -action n
初始目录:{当前文件目录}
程序类型:Windows程序
保存文件:无
附加说明:
1) -t 表示ctags文件名
2) -file 表示当前文件名称,不包含路径,包含扩展名
3) -path 表示当前文件所在的目录,一般无需设置
4) -action 表示动作,n表示向前搜索tag访问历史
e.【假设快捷键为Ctrl+5】
菜单名称:OpenCTags定位在当前文件 以下命令,请根据实际情况设置OpenCTags路径,注意不要漏了""符号
命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
参数: -t "openctags.tags" -word ":{当前单词}" -editor "{编辑器名称}" -sel ":{当前所选文本}" -file "{当前文件名称}" -line {当前行号}
初始目录:{当前文件目录}
程序类型:Windows程序
保存文件:无
附加说明:
1) -t 表示ctags文件名
2) -file 表示当前文件名称,不包含路径,包含扩展名
3) -path 表示当前文件所在的目录,一般无需设置
4) -word 前面加:,表示在当前文件搜索
5) -sel 前面加:,表示在当前文件搜索
4. 使用方法:
a. 到项目的根目录,打开一个文件,然后按快捷键Ctrl+Alt+Shift+1(或者点击菜单执行“OpenCTags索引”),等待建立ctags完成,在根目录会生成tags文件,注意在svn/git/hg/cvs等中设置忽略该文件
b. 打开项目内任意文件,选中需要查看的关键字(类名或者函数方法名或者任意玩意),,然后按快捷键Ctrl+2(或者点击菜单执行“OpenCTags”),将会打开OpenCTags提示窗口,提示对应的tags信息
c. 提示窗口中,会给出匹配的名称,原型缩写,以及所在的文件相对路径,鼠标移动上去,会显示完整的原型提示,双击,会自动打开对应的文件并定位到对应的位置
d. 提示窗口中,左则的图标代表不同的类型,包括但不限于:类、方法/函数、常量定义、变量等等
e. 进过多次跳转后,可以按快捷键Ctrl+3、Ctrl+4,来回快速跳转,方便异常
f. 按下鼠标右键,提示窗口可以随意拖动,只要OpenCTags服务不退出,窗口位置可以自动保持
g. 提示窗口输入栏,可以任意改变,输入你喜欢的关键字(类名或者函数方法名或者任意玩意)可以实时搜索
h. 按TAB,会将当前选中的tag自动输入到编辑器(AutoComplete/自动完成),按空格键或者回车会自动打开对应的文件并定位到对应的位置
i. 当tag前面带有:符号时,可以在当前文件中进行搜索
5. 快捷键设置:
当前快捷键列表,可以看:菜单=》帮助=》键盘映射
设置新的快捷键,可以用:菜单=》工具=》参数设置=》快捷键=》类型:工具=》用户工具1~20进行设置
主流编辑器用户工具设置举例:
UltraEdit:
添加方式:“高级”菜单=》工具栏配置
调用命令:""E:\Program Files\OpenCTags\OpenCTags.exe"" -t openctags.tags -editor "UltraEdit" -sel "%sel%" -file "%f" -line %line%
当前目录:%p
UEStudio:
添加方式:“高级”菜单=》工具栏配置
调用命令:""E:\Program Files\OpenCTags\OpenCTags.exe"" -t openctags.tags -editor "UEStudio" -sel "%sel%" -file "%f" -line %line%
当前目录:%p
EditPlus2:
添加方式:“工具/Tools”菜单=》配置用户工具
调用命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
调用参数:-t openctags.tags -word "$(CurWord)" -editor "EditPlus2" -sel "$(CurSel)" -file "$(FilePath)" -line $(CurLine)
当前目录:$(FileDir)
EditPlus3:
添加方式:“工具/Tools”菜单=》配置用户工具
调用命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
调用参数:-t openctags.tags -word "$(CurWord)" -editor "EditPlus3" -sel "$(CurSel)" -file "$(FilePath)" -line $(CurLine)
当前目录:$(FileDir)
EmEditor:
添加方式:“工具/Tools”菜单=》外部工具=》自定义工具
调用命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
调用参数:-t "openctags.tags" -word "$(WordText)" -editor "EmEditor" -sel "$(SelText)" -file "$(FilenameEx)" -line $(CurLine)
当前目录:$(Dir)
Programmer's Notepad:
添加方式:“工具/Tools”菜单=》Options=》Tools=》Global Tools
调用命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
调用参数:-t "openctags.tags" -word "%w" -editor "Programmer's Notepad" -sel "" -file "%d" -line %l
当前目录:%d
Komodo Edit:
添加方式:“View”菜单=》Tabs& Sidebars =》Toolbox,Toolbox面板=》鼠标右键=》Add=》New Command
调用命令:""E:\Program Files\OpenCTags\OpenCTags.exe"" -t "openctags.tags" -word "%w" -editor "Komodo Edit" -sel "%s" -file "%f" -line %L
当前目录:%D
NotePad++:
添加方式:“运行”菜单=》运行,输入调用命令后,点保存设置快捷键
调用命令:""E:\Program Files\OpenCTags\OpenCTags.exe"" -t "openctags.tags" -word "$(CURRENT_WORD)" -editor "NotePad++" -sel "$(CURRENT_WORD)" -file "$(FILE_NAME)" -line $(CURRENT_LINE) -path "$(CURRENT_DIRECTORY)"
当前目录:使用-path参数设置
附加说明:OpenCTags索引请使用如下调用命令:
CMD /K CD /D "$(CURRENT_DIRECTORY)" && ("E:\Program Files\OpenCTags\ctags.exe" -f "openctags.tags" --totals=yes -V -R *)
Crimson Editor:
添加方式:“Tools”菜单=》Conf. User Tools,输入调用命令和参数后,点应用
调用命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
调用参数:-t "openctags.tags" -word "$(CurrWord)" -editor "Crimson Editor" -sel "$(CurrWord)" -file "$(FileName)" -line $(LineNum)
当前目录:$(FileDir)
TextPad:
添加方式:“配置”菜单=》参数=》工具,添加后,点开左则“工具”列表,再进行具体设置
调用命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
调用参数:-t "openctags.tags" -word "$SelWord" -editor "TextPad" -sel "$Sel" -file "$File" -line $Line
当前目录:$FileDir
PSPad:
添加方式:将Scripts\PSPad下的Script目录,拷贝到PSPad的安装目录
使用方式:然后打开PSPad,”脚本“菜单=》重新编译脚本(Recompile Scripts),即可在”脚本“菜单下生成OpenCTags子菜单,点击进行操作
附加说明:在Scripts\PSPad\Script\JScript\OpenCTags.js中设置OpenCTags的安装目录
AkelPad:
添加方式:将Scripts\AkelPad下的AkelFiles目录,拷贝到AkelPad的安装目录
使用方式:然后打开AkelPad,”选项“菜单=》插件=》Scripts::Main,点击进入Scripts plugin,即可运行对应的指令,并可设置对应快捷键(输入框输入后点Assign)
附加说明:在AkelFiles\Plugs\Scripts\Include\OpenCTags.js中设置OpenCTags的安装目录
PHPStorm:
添加方式:“File”菜单=》Settings=》External Tools,点击Add
调用命令:"E:\Program Files\OpenCTags\OpenCTags.exe"
调用参数:-t "openctags.tags" -word "$SelectedText$" -editor "PhpStorm" -sel "$SelectedText$" -file "$FileName$" -line $LineNumber$
当前目录:$FileDir$
EditPad:
添加方式:“Tools”菜单=》Configure Tools=》New
调用命令:"E:\Program Files\OpenCTags\OpenCTags.exe" -t "openctags.tags" -word "%WORD%" -editor "EditPad" -sel "%WORD%" -file "%FILENAME%" -line %LINE%
当前目录:%PATH%
对应工具设置中,除了OpenCTags索引选择为Console/DOS程序并捕捉输出外,其他的请全部设置为GUI/Windows程序并不捕获输出,也无需接受任何其他参数传递,请参考“readme.OpenCTags通用说明.txt”。
问题:
Q: Not known editor
A: 没有正确设置编辑器的名称,请检查使用OpenCTags.exe的指令中,-editor部分的设置正确,并且在OpenCTags.ini之中做好了对应的配置。
Q: Could not find install dir for editor ...?
A: 找不到 编辑器的安装路径,绿色版本的一般会出现该问题;
请确认OpenCTags.ini之中编辑器对应的安装路径设置正确。
Q: 双击无法打开文件?
A: 请打开“tools\Microsoft Visual Studio Spy++.exe”,按照“tools\Spy++步骤1~4”,找到对应编辑器的类名,然后在OpenCTags.ini,设置编辑器对应的类名
Q: 修改或者增加新的代码后,匹配不到怎么办?
A: 此时,因为代码发生了变化,所以需要及时再来一次:OpenCTags索引
Q: 索引JS文件出错,OpenCTags索引时提示:ctags: Warning: ignoring null tag in .............js
A: js文件内有特殊结构,不在CTags默认定义列表中;请将“.ctags”拷贝到%HOMEDRIVE%%HOMEPATH%(Win+R,输入回车即可打开)目录下,然后重新索引
Q: 调用时,提示:Could not find tags file names [openctags.tags] in directory ...... or in a parent directory
A: 还没有建立ctags索引,请按照“使用”=>“4. 使用方法”=>“a. 到项目的根目录”,打开一个文件,然后建立索引即可
附加:
0. ctags是个什么东东?你out了,快点上网查吧。
1. 该插件,来自于sf的OpenCTags,我经过完善和给予中文说明后发布了新版;再次感谢Romeo JunCU的卓绝工作。
2. 如果所使用的编辑器不在现有列表中,请查看器帮助文档进行设置。
3. 如调用遇到问题,请仔细阅读本说明以及所使用编辑器的帮助文档,并及时与我沟通。
4. 欢迎推广,欢迎传播至少一人,好东西要一起分享嘛!
5. 如有问题和建议,请致信honestqiao@gmail.com,谢谢
6. 在线讨论,请访问:http://bbs.chinaunix.net/thread-3619603-1-1.html
7. 欢迎访问史上最强PHP中文手册--PHP手册中文翻译补完计划 --http://code.google.com/p/phpdoc-zh/
8. 待补充
{
"editors" :
[
["编辑器名称", "编辑器exe文件名", "编辑窗口类名", "编辑器安装路径", "编辑器调用参数"],
/*
参数说明:
编辑器名称:当前需要使用的编辑器的名称
编辑器exe文件名:当前编辑器在运行时exe文件名,可以在任务管理器中查找;部分编辑器启动时的文件名和运行时的文件名,可能并不相同,例如:emacs
编辑器窗口类名:按照readme中的说明,通过Microsoft Visual Studio Spy++得到的当前编辑器编辑界面的窗口类名
编辑器安装路径:编辑器exe文件所在的目录,目录分隔符需要使用\\或者/,使用\将会出错;也可以将启动编辑器的exe文件名一并写在最后
编辑器调用参数:从命令行调用编辑器时,所需要使用的参数,请查看编辑器的帮助文档了解详情,所使用的参数如下:
__PATH__:表示要打开的代码文件的所在路径
__FILENAME__:表示要打开的代码文件的文件名
\"__PATH____FILENAME__\":表示要打开的代码文件的完整路径,为防止空格,使用""包含
__LINENUMBER__:表示打开代码文件后,要跳转到的行号
使用说明:
1. 如果编辑器已经存在于以下配置中,仅需修改“编辑器安装路径”即可完成配置;除非你精通该编辑器并熟读帮助文档,否则其他配置切勿修改。
2. 如果以下配置中所列出的编辑器你没有使用,无需修改或者删除其配置,保留原样即可,以便将来使用。
3. 如果要添加新的编辑器配置,拷贝复制现有的一行配置后,再进行修改;修改前请熟读readme,以及编辑器的帮助文档。
4. 出现问题或者增加配置时,请及时与honestqiao@gmail.com沟通,以便在新的版本中加入该配置方便更多人。
*/
["EditPlus2", "EDITPLUS.EXE", "AfxFrameOrView", "E:/Program Files/EditPlus 2", "-e \"__PATH____FILENAME__\" -cursor __LINENUMBER__:1 "],
["EditPlus3", "EDITPLUS.EXE", "AfxFrameOrView", "D:/editplus_ha_gr/EditPlus_x86/x86", "-e \"__PATH____FILENAME__\" -cursor __LINENUMBER__:1 "],
["NotePad++", "notepad++.exe", "SysTabControl", "E:/Program Files/Notepad++", "-n__LINENUMBER__ \"__PATH____FILENAME__\""],
["UltraEdit", "UEDIT32.exe", "EditControl", "E:/Program Files/UltraEdit", "\"__PATH____FILENAME__/__LINENUMBER__\""],
["UEStudio", "UEStudio.exe", "EditControl", "E:/Program Files/UEStudio", "\"__PATH____FILENAME__/__LINENUMBER__\""],
["EmEditor", "EmEditor.exe", "SysTabControl", "E:/Program Files/EmEditor", "/l __LINENUMBER__ \"__PATH____FILENAME__\""],
["Programmer's Notepad", "pn.exe", "ScintillaWindowImpl", "E:/Program Files/Programmer's Notepad", "-l __LINENUMBER__ \"__PATH____FILENAME__\""],
["Komodo Edit", "komodo.exe", "Scintilla", "E:/Program Files/ActiveState/Komodo Edit", "-l __LINENUMBER__ \"__PATH____FILENAME__\""],
["Crimson Editor", "cedt.exe", "AfxFrameOrView", "E:/Program Files/Emerald Editor Community/Crimson Editor", "/L:__LINENUMBER__ \"__PATH____FILENAME__\""],
["TextPad", "TextPad.exe", "AfxFrameOrView", "E:/Program Files/TextPad", "\"__PATH____FILENAME__\"(__LINENUMBER__,0)"],
["PSPad", "PSPad.exe", "TPSSynEdit", "E:/Program Files/PSPad", "/__LINENUMBER__ \"__PATH____FILENAME__\""],
["AkelPad", "AkelPad.exe", "AkelEdit", "E:/Program Files/AkelPad", "/Command(4262) /Call(\"Scripts::Main\",1, \"Include/OpenCTags.js\",\"-l __LINENUMBER__\") \"__PATH____FILENAME__\""],
["PhpStorm", "PhpStorm.exe", "SunAwtFrame", "E:/Program Files/JetBrains/PhpStorm/bin", "-l __LINENUMBER__ \"__PATH____FILENAME__\""],
["EditPad", "EditPadPro7.exe", "TEditPadProEditorMain", "E:/Program Files/Just Great Software/EditPadPro7", "/l__LINENUMBER__ \"__PATH____FILENAME__\""],
["LopeEdit", "LopeEdit.exe", "MDIClient", "E:/Program Files/LopeSoft/LopeEdit", "\"__PATH____FILENAME__\""],
["vim", "gvim.exe", "VimTextArea", "E:/Program Files/vim/vim73", "+__LINENUMBER__ \"__PATH____FILENAME__\""],
["emacs", "emacs.exe", "Emacs", "E:/Program Files/emacs/bin/emacsclientw.exe", "-n -a \"E:/Program Files/emacs/bin/runemacs.exe\" +__LINENUMBER__ \"__PATH____FILENAME__\""],
]
}
///////////////////////说明文档结束
================================================
如何在editplus中配置ctags?的更多相关文章
-
如何在sharepoint2010中配置Google Anlytics 分析服务
简介 Google Analytics(分析)不仅可以帮助您衡量销售与转化情况,而且能为您提供新鲜的深入信息,帮助您了解访问者如何使用您的网站,他们如何到达您的网站,以及您可以如何吸引他们不断回访 ...
-
如何在Eclipse中配置Tomcat(免安装版)
如何在Eclipse中配置Tomcat(免安装版) 2013-10-09 23:19wgelgrsh | 分类:JAVA相关 | 浏览642次 分享到: 2013-10-10 17:10提问者采纳 ...
-
如何在appconfig中配置服务的ip
开发了一个WindowsService消息服务器,刚开始一直都是在代码中把IP地址写死,所以每次只要是更换了新的IP地址后,都需要重新编译项目.所以考虑把ip配置到config文件中, 这样做的好处是 ...
-
如何在IAR中配置CRC参数(转)
源:如何在IAR中配置CRC参数 前言 STM32全系列产品都具有CRC外设,对CRC的计算提供硬件支持,为应用程序节省了代码空间.CRC校验值可以用于数据传输中的数据正确性的验证,也可用于数据存储时 ...
-
【神经网络与深度学习】如何在Caffe中配置每一个层的结构
如何在Caffe中配置每一个层的结构 最近刚在电脑上装好Caffe,由于神经网络中有不同的层结构,不同类型的层又有不同的参数,所有就根据Caffe官网的说明文档做了一个简单的总结. 1. Vision ...
-
如何在Mac中配置Python虚拟环境,踩了好多坑
如何在Mac中配置Python虚拟环境 1.安装virtualenv pip3 install virtualenv 2.安装virtualenvwrapper pip3 install virtua ...
-
如何在 Linux 中配置基于密钥认证的 SSH
什么是基于 SSH 密钥的认证? 众所周知,Secure Shell,又称 SSH,是允许你通过无安全网络(例如 Internet)和远程系统之间安全访问/通信的加密网络协议.无论何时使用 SSH 在 ...
-
如何在idea中配置Tomcat服务器
.IDEA 中动态 web 工程的操作 a)IDEA 中如何创建动态 web 工程 1.创建一个新模块: 2.选择你要创建什么类型的模块 3.输入你的模块名,点击[Fin ...
-
如何在Eclipse中配置Tomcat
1.Eclipse EE 配置Tomcat Eclipse EE 主要用于Java Web开发和J2EE项目开发.Eclipse EE中配置Tomcat比较简单,新建一个Tomcat Server即可 ...
随机推荐
-
THINKPHP源码学习--------文件上传类
TP图片上传类的理解 在做自己项目上传图片的时候一直都有用到TP的上传图片类,所以要进入源码探索一下. 文件目录:./THinkPHP/Library/Think/Upload.class.php n ...
-
ActiveMQ 即时通讯服务——浅析
一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provide ...
-
[转]Delphi执行CMD命令
今天看到有人在问用代码执行CMD命令的问题,就总结一下用法,也算做个备忘. Delphi中,执行命令或者运行一个程序有2个函数,一个是winexec,一个是shellexecute.这两个大家应该都见 ...
-
【C语言】reverse_string(char * string)(递归)
递归reverse_string(char * string)性能. 逆转 原始字符串 更改 相反,打印出的. /* 编写一个函数reverse_string(char * string)(递归实现) ...
-
安装Docker
安装Docker 1. 增加Repository配置文件 cat >/etc/yum.repos.d/docker.repo <<-EOF [dockerrepo]name=Dock ...
-
CS:APP3e 深入理解计算机系统_3e Attacklab 实验
详细的题目要求和资源可以到 http://csapp.cs.cmu.edu/3e/labs.html 或者 http://www.cs.cmu.edu/~./213/schedule.html 获取. ...
-
十二省联考 - JLOI2019 游记
十二省联考 - JLOI 2019 游记 想了想,还是起一个副标题吧 一场失败的胜利 Day -inf 想了想,还是从头开始说吧. 其实考完NOIP之后,大概估算一下,吉林省队的数量还算是比较乐观的, ...
-
linux环境中通过useradd命令,创建用户的时候指定用户的base-dir
需求说明: 今天一个同事,问了一个这样的问题,在linux环境中,创建用户的时候,默认的是在/home目录下创建一个与用户名相同的家目录, 如何能够将这个/home更换成一个其他的,比如/opt/ap ...
-
SWIFT模糊效果
首先创建一个模糊效果 let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light) 接着创建一个承载模糊效果的视图let blurView ...
-
JUnit常用断言及注解
断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过. 断言核心方法 assertArrayEquals(expecteds, actuals) 查看两个数组 ...