今天給大家介紹的這個插件,是我在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
文章列表