惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

博客园 - 代震军

重磅发布码农界的第一张吉他专辑小样 当C++遇到iOS应用开发---LRUCache缓存 当C++遇到iOS应用开发---Dict集合 当C++遇到iOS应用开发之---List集合 当C++遇到iOS应用开发---字符串处理 当C++遇到iOS应用开发---SQLITE篇 开源ImageFilter库For IOS源码发布 开源ImageFilter库v0.4:新增26种图片效果 开源ImageFilter库v0.3:新增22种图片效果 开源ImageFilter库v0.2:新增7类滤镜,支持12种图片效果 Android, WindowsPhone7, IOS ,vc2010平台40多套图片滤镜开源 Discuz!NT中的LLServer架构设计 LLServer1.0及C#客户端正式发布并开源 Mongodb源码分析--Replication之OpLog Mongodb源码分析--Replication之主从模式--Slave 这样的“牛”人最好别碰上 Mongodb源码分析--Replication之主从模式--Master Mongodb源码分析--链接池(ConnPool) Mongodb源码分析--Mongos之分布式锁
HRPlugin For Xcode发布(附源码地址)
代震军 · 2013-06-25 · via 博客园 - 代震军

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

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

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

    本插件的安装有两种方式:
    I:下载这个链接中的文件(https://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
    
    安装包下载:https://files.cnblogs.com/daizhj/HRPlugin.dmg.zip