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



Ubuntu用户通过添加PPA源安装最新版Geany:
sudo add-apt-repository ppa:geany-dev/ppa
sudo apt-get update
sudo apt-get install geany geany-plugins libvte9
Geany内置的虚拟终端依赖libvte9这个GTK2的虚拟终端窗口库,而Gnome3和KDE上默认没有这个库,所以需要安装.


在菜单"编辑-首选项-虚拟终端"里可以设置终端的字体,前景色,背景色等.
编辑器字体和终端字体我都使用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重载一下文件.
Pair Tag Highlighter的这个问题 已经得到修复 :
64位Linux可以这样安装:
wget http://kononenko.ws/_media/en/blog/2015-03-09/pairtaghighlighter.so
sudo cp pairtaghighlighter.so /usr/lib/x86_64-linux-gnu/geany/

如果你要一个类似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远程修改文件也很方便.

补充: 发现Geany内置了一个Project Organizer(GProject)插件,可以智能提示和跳转到项目内所有的函数和变量,不需要手动生成tags,怪不得Geany敢对外宣称自己是轻量级的IDE,还是有点底气的嘛.另外还有一个插件GeanyCtags也不错,跳转功能集成在右键菜单.

关于IDE:
Netbeans 支持HTML/CSS/JavaScript(jQuery/AngularJS)/PHP智能提示和文档提示,丰富的快捷键和宏支持,
界面汉化,支持Xdebug,ZendDebugger调试,支持git,svn,hg版本控制,支持PHPUnit单元测试以及支持ssh加密下的远程项目开发.
Netbeans会动态实时收集项目下所有文件的量,就算你不require文件,Netbeans也会提示哪个文件里有哪个量.
Netbeans作为IDE,Geany作为编辑器,高低搭配,干活不累.

转载于:https://my.oschina.net/eechen/blog/361421

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值