今天给大家介绍的这个插件,是我在IOS平台上开发以来,一些想法的集合体。因为本人时常感觉在开发过程中无论从GOOGLE资料查找和SQL数据库查询,正则表达式测试,SVN等,这些经常要做的操作中,耽误了我不少的时间,甚至会打断我对业务的思考,进而影响对程序的理解。
     在忍无可忍的情况下,我决定自己动手造一些工具,希望借它避开频繁切换窗体过程对开发者思维的影响。

好了,开始今天的正文吧!

首先要声明的是,因为本人怀疑苹果公司并不支持开发者来为XCODE开发插件,但如果不HACK一些底层的API,有些插件功能又是无法实现,而这些API往往又可能会在下个版本中被修改甚至移除。所以本人无法保证所有的XCODE版本都可运行该插件。本人目前使用的XCode版本为 4.6.2 (4H1003)。

本插件的安装有两种方式:
    I:下载这个链接中的文件(http://files.cnblogs.com/daizhj/HRPlugin.dmg.zip),双击解压,运行里面的DMG文件。并运行弹窗中的”install.command“文件,这样就会完成安装了。
    II:下载本项目源码(https://github.com/daizhenjun/HRXcodePlugin),之后用XCODE打开Build即可。
    
    采用其中一种方式安装完成后,完全退出XCode(在DOCK上的XCODE图标击右键,选“退出”即可)
    
    下面就来看一下该插件的运行效果,如下:
   
    
    
    下面做一个使用介绍:
    首先是搜索功能,当选中代码中的一段文件,如下图(NSRegularExpression)时:
  
    
    这时点击插件中的“GoogleSearch”,会启动浏览器,如下图(这里插件为您添加了Stackoverflo关键字):
   
    
    
    同理也可以使用BaiduSearch,但鉴于Baidu多数情况下搜不出什么像样的干货,这理就不做说明了。
    
    
    下面介绍一下SVN功能。首先要用命令行或其它方式初始化本地版本库和相关的用户信息(包括密码)等。之后就可以使用下面窗口设置本地源码的SVN路径了:
   

这样,只要把你的项目源码放在该路径下,使用XCode打开相关源码文件,执行修改或添加文件等操作时,只要点击HRPlugin菜单中SVN的相关菜单项操作即可。如下图:
   
    
    如果之前SVN设置有问题或在提交过程中出现问题,插件都会回显相关的错误信息给你,比如:
   
    
    
    
       同理,也可以完成GIT的设置,其实在写这个插件过程中,我一直用该插件来向GITHUB提交代码。基本没发现什么问题(欢迎feedback bug).
    
    下面看一下对SQLITE数据库的支持,点击插件菜单的”Sqlite Helper“, 会启动该助手。
   
    
      这里要说明的是,该助手第一次启动时会让您选择一个本地的SQLITE数据库文件,如果没有选择,插件会为您构造一个SQLITE文件,并向其中添加两张表,一个是student,一个是teacher,如下图:


       大家可以看到左侧会列出当前数据库中的表及其相关结构信息。
    
       接着输入相应的SQL脚本,如下图,并点击"run sql"按钮:
   
    
       我们看到在下面的表格中显示了该表的记录,包括刚insert的那个记录。同时这个输入框还支持执行选中的SQL脚本,如下:
   

大家看到这里显示的是"select * from teacher"的结果(注:要输入多行脚本,按住“command或option“之后按回车键即可)。
    
     除此以外,该助手还支持导出建表脚本和代码生成(支持object-c, c#, java三种语言),只要在相应的表结点上击鼠标右键即可:
    
     

接下来再介绍一下HTTP代理服务器功能,引入它的目的是为了方便开发手机客户端应用。只要点击插件菜单的"Http Proxy",就可以看到它的界面了,如下图:
   
    
    它会侦听当前机器的8000端口上的HTTP请求。为了测试方便,我们可以在Firefox, chrome, safari中设置相应的代理服务,指向本地的8000端口,这时在相应浏览器中访问比如BAIDU等网站,就会在该界面上显示本地HTTP请求的HEADER等信息,还有网站那一端获得的数据。这样会方便我们在开发过程中检查提交和返回的信息是否有效等。
    
    当然如果在IOS代码中,我们可以这样用它,比如使用第三方开源软件ASIHTTPRequest时,设置相应的代理字段:

// 手动设置代理服务器
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setProxyHost:@"127.0.0.1"];
[request setProxyPort:8000];

如果在python中,可以这样用:

#!/usr/bin/env python
import urllib
import sys
import getopt shortargs = 'f:t'
opts, args = getopt.getopt( sys.argv[1:], shortargs )
port = "8000"
if ( len( sys.argv ) == 2 ):
port = args[0]
try:
proxy = {"http":"http://127.0.0.1:"+ port}
f = urllib.urlopen("http://www.baidu.com", proxies = proxy)#加入代理设置
print 'http header:/n', f.info()
print 'http status:', f.getcode()
print 'url:', f.geturl()
for line in f:
print line,
f.close()
except:
print "proxy fails!"

接下来是关于信息:
   

最后就是卸载功能,如下:
   


    
    
    好了,今天的内容就到这里的,如果大家有什么想法可以提出来,以便我进一步完善。
    
    源码下载地址:https://github.com/daizhenjun/HRXcodePlugin
    
    安装包下载:http://files.cnblogs.com/daizhj/HRPlugin.dmg.zip

原文链接:http://www.cnblogs.com/daizhj/p/3154551.html
    作者: daizhj, 代震军
    微博: http://weibo.com/daizhj
    Tags:python,ios,plugin,xcode

HRPlugin For Xcode发布(附源码地址)的更多相关文章

  1. Vue过渡和动画效果展示(案例、GIF动图演示、附源码)

    前言 本篇随笔主要写了Vue过渡和动画基础.多个元素过渡和多个组件过渡,以及列表过渡的动画效果展示.详细案例分析.GIF动图演示.附源码地址获取. 作为自己对Vue过渡和动画效果知识的总结与笔记. 因 ...

  2. Vue路由实现之通过URL中的hash(#号)来实现不同页面之间的切换(图表展示、案例分析、附源码详解)

    前言 本篇随笔主要写了Vue框架中路由的基本概念.路由对象属性.vue-router插件的基本使用效果展示.案例分析.原理图解.附源码地址获取. 作为自己对Vue路由进行页面跳转效果知识的总结与笔记. ...

  3. C#代码生成器附百度云盘源码地址

    今晚闲着没事,写了个代码生成器,在这里只做个抛砖引玉,后面可以继续扩展功能,下方附百度云盘源码地址. 使用数据库:sqlserver 编译器:vs2015 废话不多说,上界面: 程序主界面: 数据库: ...

  4. 日志组件Log2Net的介绍和使用(附源码开源地址)

    Log2Net是一个用于收集日志到数据库或文件的组件,支持.NET和.NetCore平台. 此组件自动收集系统的运行日志(服务器运行情况.在线人数等).异常日志.程序员还可以添加自定义日志. 该组件支 ...

  5. 基于struts2的学生报道管理系统(附github源码地址)

    本项目参考了<java web轻量级开发全体验>,加入了对mysql的支持. 一.基本业务功能 通过struts2框架,结合mysql数据库构建一个学生报到管理系统,来模拟学生报到登记的过 ...

  6. C#/ASP.NET MVC微信公众号接口开发之从零开发(四) 微信自定义菜单(附源码)

    C#/ASP.NET MVC微信接口开发文章目录: 1.C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台 2.C#/ASP.NET MVC微信公众号接口开发之从零开发( ...

  7. Ext.NET 4.1 系统框架的搭建(后台) 附源码

    Ext.NET 4.1 系统框架的搭建(后台) 附源码 代码运行环境:.net 4.5  VS2013 (代码可直接编译运行) 预览图: 分析图: 上面系统的构建包括三块区域:North.West和C ...

  8. swfupload多文件上传[附源码]

    swfupload多文件上传[附源码] 文件上传这东西说到底有时候很痛,原来的asp.net服务器控件提供了很简单的上传,但是有回传,还没有进度条提示.这次我们演示利用swfupload多文件上传,项 ...

  9. openlayers4 入门开发系列之地图导航控件篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

随机推荐

  1. 【10-25】intelliji ide 学习笔记

    快捷键 /** alter+enter 导包,异常处理等提示 psvm 快速main函数 sout 快速sysout语句 fi 快速for循环 ctrl+d 重复一行 Ctrl+X 删除行 Ctrl+ ...

  2. 手持设备点击响应速度,鼠标事件与touch事件的那些事

    前言 现在一直在做移动端的开发,这次将单页应用的网页内嵌入了app,于是老大反映了一个问题:app应用点击响应慢!我开始不以为然,于是拿着网页版的试了试,好像确实有一定延迟,于是开始了研究,最后选择了 ...

  3. C# 反射研究

    概念 反射这东西,对于我这种小白,听起来总是觉得好大上的. 当初理解它费了一点时间,后来看了一句话,突然恍然大悟,“反射就跟B超一样,我们在不剖开人体的情况下想看清楚内部情况, 我们就通过发射超声波, ...

  4. 思考JavaScript异常如何转为知识库?

    线上 js 报错会变成一个邮件,发给前端开发 team,每个人自己认领.解决.其实这是一个不错的选择,也解决了最基本的问题:立即响应,修掉.不过也存在着一个问题,如何避免同样的错误?我的初步想法是这样 ...

  5. [老文章搬家] [翻译] 深入解析win32 crt 调试堆

    09 年翻译的东西. 原文见:  http://www.nobugs.org/developer/win32/debug_crt_heap.html 在DeviceStudio的Debug编译模式下, ...

  6. angularJS实践过程中出现的问题总结

    同名服务 在一次项目里,之前是同事写的.我有一次在异步获取服务器上的数据时,习惯把api地址写在一个服务Store里,但是程序总是返回Store.api.get()里的get is undefined ...

  7. Ternary Expression Parser

    Given a string representing arbitrarily nested ternary expressions, calculate the result of the expr ...

  8. PHP新手常见的一些不好习惯(抄的 有待理解)

    1.不写注释(是个好习惯,不过也没必要每个语句都要写) 2.不使用可以提高生产效率的IDE工具 3.不使用版本控制 4.不按照编程规范写代码 5.不使用统一的方法 6.编码前不去思考和计划 7.在执行 ...

  9. js学习进阶-元素获取及样式设置

    var imgs = document.querySelectorAll("article img"); 获得article元素的直接或间接子孙的所有img元素, <arti ...

  10. Buffer类

    输入流中可以通过缓冲区来加大读取的效率,sun公司感觉可以加快执行效率,他就为我们提供了一个类来操作缓存区. Buffer来头的类:所有缓冲流都是以Buffer开头的: 学习缓冲流的作用: Buffe ...