首頁 後端開發 php教程 Ubuntu上把Geany配置成好用的PHP开发工具

Ubuntu上把Geany配置成好用的PHP开发工具

Jun 23, 2016 pm 01:42 PM



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作为编辑器,高低搭配,干活不累.

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1319
25
PHP教程
1269
29
C# 教程
1248
24
PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? 說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? Apr 17, 2025 am 12:25 AM

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP與Python:了解差異 PHP與Python:了解差異 Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

See all articles