Ubuntu上把Geany配置成好用的PHP開發工具

來源:互聯網
上載者:User
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,會和IME衝突.
值得一提的是,IME在Geany編輯器裡游標不跟隨,會一直出現在左下角,這是一個瑕疵.

在菜單"編輯-喜好設定-檔案"裡,比如你可以設定使用GB18030編碼開啟非Unicode檔案,
這樣開啟簡體中文編碼的檔案就不會亂碼了.
還有你還可以在"文檔-設定檔案編碼"裡進行編碼轉換.

在菜單"編輯-喜好設定-編輯器"裡提供有"自動完成","縮排","長行標誌"等的一些設定,
比如設定敲一個字母,自動完成當前開啟文檔中的所有單詞.
比如你開啟了兩個檔案functions.php和my.php,你在編輯my.php裡的內容的時候,
Geany除了能夠提示PHP庫函數,還能夠提示functions.php裡的函數.
而且你在my.php使用了functions.php裡的一個函數後,"Ctrl+左鍵單擊"這個函數
是能夠跳轉到functions.php裡函數所在位置.
選中關鍵詞後,右鍵菜單"搜尋"裡也提供了尋找/標記/跳轉的功能.

在菜單"搜尋-在多個檔案中尋找"或者使用"Ctrl+Shift+F"調出"在多個檔案中尋找"對話方塊,
如果快速鍵和IME衝突,可以修改為"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作為編輯器,高低搭配,幹活不累.
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.