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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pembalakan PHP: Amalan Terbaik untuk Analisis Log PHP Pembalakan PHP: Amalan Terbaik untuk Analisis Log PHP Mar 10, 2025 pm 02:32 PM

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Terangkan konsep pengikatan statik lewat dalam PHP. Terangkan konsep pengikatan statik lewat dalam PHP. Mar 21, 2025 pm 01:33 PM

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom. Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom. Mar 28, 2025 pm 05:12 PM

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

See all articles