Ubuntu上把Geany配置成好用的PHP開發工具
Geany 是一個輕快的高級文本編輯器,僅僅依賴幾個其他的軟件包。Geany 僅使用 GTK2 工具包,因此您只需要 GTK2 運行庫即可運行。
Ubuntu用戶通過添加PPA源安裝最新版Geany:
sudo add-apt-repository ppa:geany-dev/ppa
sudo apt-get update
sudo apt-get install geany geany-plugins lxterminal
因為Geany不支持Gnome3和KDE的終端,所以需要安裝一個lxterminal作為Geany內置的終端.
在菜單"編輯-首選項-虛擬終端"里可以設置終端的字體,前景色,背景色等.
編輯器字體和終端字體我都使用DejaVu Sans Mono.
在菜單"編輯-首選項-快捷鍵"里把"自動完成"快捷鍵改為Alt+/,
因為其默認的快捷鍵為Ctrl+Space,會和輸入法沖突.
值得一提的是,輸入法在Geany編輯器里光標不跟隨,會一直出現在左下角,這是一個瑕疵.
在菜單"編輯-首選項-文件"里,比如你可以設置使用GB18030編碼打開非Unicode文件,
這樣打開簡體中文編碼的文件就不會亂碼了.
還有你還可以在"文檔-設置文件編碼"里進行編碼轉換.
在菜單"編輯-首選項-編輯器"里提供有"自動完成","縮進","長行標志"等的一些設置,
比如設置敲一個字母,自動完成當前打開文檔中的所有單詞.
比如你打開了兩個文件functions.php和my.php,你在編輯my.php里的內容的時候,
Geany除了能夠提示PHP庫函數,還能夠提示functions.php里的函數.
而且你在my.php使用了functions.php里的一個函數后,"Ctrl+左鍵單擊"這個函數
是能夠跳轉到functions.php里函數所在位置.
選中關鍵詞后,右鍵菜單"搜索"里也提供了查找/標記/跳轉的功能.
在菜單"搜索-在多個文件中查找"或者使用"Ctrl+Shift+F"調出"在多個文件中查找"對話框,
如果快捷鍵和輸入法沖突,可以修改為"Ctrl+Alt+F".
Geany的這個功能會調用系統的grep來在多個文件中查找包含搜索關鍵字的文件,
速度很快,很穩定,指定文件后綴,編碼類型,搜索目錄和子目錄,正則等都是支持的.
搜索結果會顯示在下方的信息窗口,點擊即可打開搜索關鍵字所在文件的具體的行.
如果不小心搜索了一個很大的目錄,用 killall grep 關閉進程即可.
總而言之,利用這個功能,在項目里找東西還是挺方便的.
Geany并不會像Netbeans等IDE那樣精準,但快速夠用就是Geany的定位.
Genay對PHP庫函數的智能提示來自于/usr/share/geany/php.tags的支持,
當然你也能用Geany生成自己項目的tags文件.
比如進入wordpress目錄生成tags文件到Geany用戶配置目錄:
geany -g ~/.config/geany/tags/wordpress.php.tags $(find . -type f -name '*.php' -o -name '*.php5')
注意生成的WordPress的tags文件后綴為.php.tags,另外-o表示Or(或者)的意思.
在菜單"工具-載入標記文件"載入生成的wordpress.php.tags,這樣不用重啟Geany就能生效了.
Geany自帶的語言tags文件,上面提到的php.tags只是其中的一個:
ls -lh /usr/share/geany/*.tags
官方源碼包data目錄里集成了最新的php.tags文件.
更多tags代碼提示(PHP/JS/HTML/CSS等):
http://wiki.geany.org/tags/start
snippets片段完成(PHP/JS/HTML/CSS等):
http://wiki.geany.org/snippets/start
比如HTML文件里輸入form按Tab鍵補全片段,PHP文件里輸入for或switch按tab鍵補全.
Geany片段完成定義在snippets.conf:
/usr/share/geany/snippets.conf
~/.config/geany/snippets.conf
snippets.conf是一個可配置的文本文件,你完全可以自定義一些自己常用的片段.
在菜單"工具-配置文件"里可以打開snippets.conf進行編輯.
配色方案下載地址:
http://wiki.geany.org/themes/start
把geany配色方案里的colorschemes和filedefs放到~/.config/geany下重啟Geany即可實現安裝,
在"查看-更改配色方案"里可以選擇自己喜歡的配色,文首配圖的配色方案是Bespin.
Geany的主配置文件里面~/.config/geany/geany.conf記錄了最近打開的文件:
[files]
recent_files=xxx
可以自己建個clear.sh來清除最近打開的文件:
#!/bin/bash
sed -i '/recent_files=\//c recent_files=' ~/.config/geany/geany.conf
在菜單"工具-插件管理器"里進行插件管理,比如啟用"附加組件","文件瀏覽器","TreeBrowser"和"Pair Tag Highlighter".
有的插件也提供了首選項,可以在里面進行一些配置.比如在菜單"編輯-插件首選項"的"
附加組件
"里
勾選"Mark all occurrences of a word when double-clicking it"
這樣你就能像在Notepad++里那樣,雙擊一個詞,標記所有相同的詞.
你還可以選中詞,然后按Ctrl+Shift+M進行標記,再按一次該快捷鍵則取消標記.
Pair Tag Highlighter
能實現HTML里的單擊標簽成對高亮.
不過有時候,舊的高亮不能及時清除,這時可以Ctrl+S保存后執行Ctrl+R重載一下文件.
如果你要一個類似IDE的項目管理器,那就啟用
TreeBrowser
這個插件吧,
因為我的桌面是Xfce,所以我把TreeBrowser使用的外部文件管理器設為Xfce默認的thunar,即thunar "%d"
由于TreeBrowser默認使用xterm在當前目錄打開終端,
用lxterminal替換xterm讓Geany調用lxterminal打開終端:
sudo mv /usr/bin/xterm /usr/bin/xterm.backup
sudo ln -s /usr/bin/lxterminal /usr/bin/xterm
另外還有"
導出
"插件,可以把代碼文件導出成高亮的HTML文件.
總之,插件還是很多的,這里有一張C開發者使用Geany開發的
截圖
.
Geany自帶的
標記列表
非常棒,里面列出了當前文件的類/函數/變量/固定值等信息,
顯示在左側,默認按名稱排序,也可以選擇按出現的順序排序.
Geany針對PHP文件的編譯命令對應php -l "%f"用于檢查語法,執行命令對應php "%f"用于運行腳本.
在菜單"生成"里可以進行"編譯"(語法檢查)或者"執行"操作,這些操作可以進一步配置,比如指定絕對路徑PHP.
"編譯"操作(語法檢查)的信息會在下方信息窗口列出,"執行"操作會在彈出終端中運行程序(比如PHP腳本).
工具欄也提供了按鈕,方便操作.你可以在首選項里定制自己的工具欄.
Geany能夠自動偵測到文件被修改,并提示用戶重載,當然也可以點擊工具欄的重載按鈕手動重載.
Geany的快捷鍵還是挺方便的,比如Ctrl+E可以注釋和反注釋.
Geany對大文件的控制和編輯也不錯,編輯個幾萬行的文件非常輕松,比Win上Notepad++的體驗好太多了.
在FileZilla里把Geany設為默認的編輯器,FTP/SFTP遠程修改文件也很方便.
關于IDE:
Netbeans
完美支持HTML/CSS/JavaScript(jQuery/AngularJS)/PHP智能提示和文檔提示,豐富的快捷鍵和宏支持,
界面漢化,支持Xdebug,ZendDebugger調試,支持git,svn,hg版本控制,支持PHPUnit單元測試以及支持ssh加密下的遠程項目開發.
Netbeans會動態實時收集項目下所有文件的量,就算你不require文件,Netbeans也會提示哪個文件里有哪個量.
Netbeans作為IDE,Geany作為編輯器,高低搭配,干活不累.