Create a web.py project in Geany

吵归吵,闹归闹,别拿Geany开玩笑.

Geany官方的定位可是一个轻量级IDE,不仅仅是一个编辑器.

Geany基于scintilla和ctags这两个组件开发,下限不会低.

基于scintilla支持多语言语法高亮,基于ctags索引项目内所有符号以实现符号补全+参数提示+符号列表+符号跳转.

Geany支持同时打开多个项目,具体操作就是:

启动Geany时加入参数"--new-instance"打开一个新实例,在一个Geany新实例中打开一个Geany项目.

Geany内置有一个"项目(Project Organizer)"插件,启用后可以增强Geany的项目功能. 比如"符号补全(Ctrl+Space)","参数提示(Ctrl+Shift+Space)","符号跳转(Ctrl+T)"这几个功能, 范围扩大到项目目录内所有文件,而不仅仅是打开的文件. 另外,在代码里选中"文件路径",右键点击"Open Selected File"即可打开项目中第一个匹配的该文件.

Geany右键的"查找用法"只能在在打开的文件中查找调用了这个符号的位置. 启用"GeanyCtags"插件后,可以在整个项目中查找调用了这个符号的位置. GeanyCtags比Geany"在多个文件中查找(grep)"更快而且更精确. 在"项目"菜单下执行"Generate tags"后,会生成"项目tags文件",位置在项目目录的上一层目录. 然后在代码里选中要查找的符号,右键点击"Find Tag Definition"即可在整个项目中查找调用了这个符号的位置.

为了实现符号提示,Geany除了可以自动收集项目内的源代码符号实现提示,还可以调用"geany -g"生成外部源代码的tags以实现符号提示,比如Geany内置的PHP库符号"std.php.tags"有700KB,Python库符号"std.py.tags"有200KB.开发者可以调用"geany -g"生成"wordpress.php.tags"和"django.py.tags",甚至根据Java的rt.jar的源代码"jdk/src.zip"生成Java的tags等等,比如:

geany -g ~/.config/geany/tags/wordpress.php.tags $(find . -type f -name '*.php')Geany内置的 std.php.tags 提供的符号补全

上面这些项目功能,就是为什么Geany自称IDE的原因.

Geany支持给任意行添加"标记(marker)",以便用户在一个文件内进行自定义的"标记跳转".

添加/删除标记: Ctrl+M 或者在行前点击鼠标左键

跳转到文件内的上一个标记: Ctrl+,

跳转到文件内的下一个标记: Ctrl+.

关闭文件时,标记会被自动删除.

Geany还有很多插件,我这个回答就不一一赘述了.

Geany也能很好地配合很多外部工具工作,比如GeanyCtags就调用了外部的ctags命令,在多个文件中查找就调用了grep命令,HTML/XML格式化可以调用tidy命令.

位置1: 菜单-生成-设置生成命令-自定义命令(输出结果到信息窗口)

位置2: 右键-格式-发送选中的文字到-自定义命令(返回处理后的结果)

用户还可以配置很多自己的命令,比如配置给PHP文件的几个生成命令:

语法检查 php -l

静态分析 phpstan

代码风格 psr

相应地,用户也可以给Python文件配置对应的生成命令.

值得一提的是,假如你开发了一门新的编程语言,比如名字叫做"RedStar",后缀名是"rs",那你只要参考其他语言的filetypes,给Geany提供一个文件定义配置"filetypes.rs",Geany就能为你的这个新语言提供跟其他语言一样的语法高亮和符号提示等支持.

因为Geany基于C和GTK3开发,所以Linux上内存占用远比基于Java的PyCharm和基于Electron(Chromium)的VSCode要小.

总而言之,Geany不是一个弱鸡编辑器,不要被Geany朴素的外表欺骗,写Python这个教程的老外,推荐Geany是有理由的.深入使用过Geany后就知道,这是个具有良好生产力的开发者工具.

python开发工具geany_geany作为Python的编辑器好用吗?相关推荐

  1. 微软的python开发工具_面向 Python 开发人员的 Azure 工具

    面向 Python 开发人员的 Azure 工具Azure tools for Python developers 08/06/2020 本文内容 Visual Studio CodeVisual S ...

  2. Python培训教程分享:10款超好用的Python开发工具

    学会Python技术后,我们在参加工作的时候如果能有辅助工具的话,那么会很大程度的提高我们的工作效率,那么Python都有哪些好用的开发工具呢?下面小编就为大家详细的介绍一下10款超好用的Python ...

  3. python django开发工具_利用pyCharm编辑器创建Django项目开发环境-python开发工具第一篇...

    [前置说明] 1.django环境与python对应关系: Django version Python versions 1.11 2.7, 3.4, 3.5, 3.6, 3.7 (added in ...

  4. python开发工具

    工欲善其事必先利其器-简单几步打造顺手的python开发工具(windows,Linux多版本) 初学一门语言,一般来说第一道门槛是开发工具的选择,以及配置,用记事本写代码写写helloworld尚堪 ...

  5. python开发工具排名-7款公认比较出色的Python IDE,你值得拥有!

    Python作为一款比较"简洁"的编程语言,它拥有很多性价比高的性能,造就了它现在比较火热的局面,很多人都来学习Python.Python 的学习过程少不了 IDE 或者代码编辑器 ...

  6. python视频课程推荐-听说程序员都在用,5款Python开发工具推荐

    很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...

  7. python编程工具p-5款Python程序员高频使用开发工具推荐

    很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...

  8. 使用python用什么软件-python开发工具有哪些(初学python用什么软件)

    python开发工具有哪些 一.jupyternotebookIDE简介-五星推荐 jupyternotebook是python学习与开发的一款简介的IDE,是一款Web应用程序,便于创建和编写文档等 ...

  9. 8个主流且实用的Python开发工具推荐

    不管是刚入门学习Python还是已经在从事Python开发工作的人,都需要学习和掌握一些Python开发工具和软件.那么,现在已经主流且实用的Python软件有哪些呢?接下来小千就为大家介绍一下学习P ...

最新文章

  1. Linux通过端口号杀死指定进程
  2. .net下的富文本编辑器FCKeditor的配置方法(图)原创
  3. UNITY调用安桌方法出现 JNI: Init'd AndroidJavaClass with null ptr!
  4. Nautilus启动报错
  5. Redhat、CentOS进单用户模式进行维护
  6. java ftp主动模式和被动模式_ftp主动模式和被动模式
  7. kafka异步发送数据_在Kafka上异步发送数据
  8. aio nio aio_AIO的完整形式是什么?
  9. python django mysql写入中文乱码_Django 连接mysql数据库中文乱码
  10. Android学习笔记17:单项选择RadioButton和多项选择CheckBox的使用
  11. vue中简单的小插曲
  12. 2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述(3)——Volumetric decoding
  13. Pylot——跨平台的网站压力测试工具
  14. 让 Edit 只接受数字《转》
  15. 成都市计算机会考,四川省高中信息技术会考资料及试题
  16. 中兴云桌面服务器,中兴云桌面解决方案.pdf
  17. linux 新唐 STM32,新唐M0系列stm32单片机哪个便宜?
  18. aix linux ftp服务器,AIX主机FTP到LINUX服务器其中的磕碰记录
  19. 报错vs2019 初始值设定项值太多
  20. 联想y50更换固态硬盘_【联想Y50-70】更换固态硬盘,极速开机~

热门文章

  1. 滴水逆向3期笔记与作业——01汇编
  2. windows系统运行uniapp到ios基座
  3. 听说你们好奇我技术文章里的动图是怎么做的 ?
  4. 丧尸,只要摧毁头部便会永久停止行动
  5. ctf之crypto练习二
  6. switch基础用法
  7. 中国大陆程序员2020年工资城市分布图
  8. 天正建筑中如何将标注单位M改为mm
  9. 浅谈LCD液晶屏和LED屏,它们有什么不同之处
  10. 达人评测 i9 13900H和i7 13700h差距 i913900H和i713700h选哪个