我是一家小型开发公司的软件工程师。我最近才将公司转移到开源运动中。我们所有的非客户端代码都是开源的,我们在Linux等系统上运行所有的服务器和工作站。

我在Ubuntu上使用Kate作为文本编辑器已有相当一段时间了,但是它缺少一些我想拥有的功能。我想要具有以下特征的东西...


免费且开源
针对JavaScript,HTML,CSS,SCSS和PHP的代码突出显示。 (针对Python和Ruby的奖励)
我上面提到的相同语言的代码完成。
内置终端或终端插件的可用性。
SFTP / FTP远程编辑。
能够打开目录而不是单个文件。 (无论是远程还是远程)。
如果程序是IDE,则它必须是轻量级的。 (不是像Eclipse或Netbeans这样繁重的东西。)

如果它能够进行版本控制并且能够使用Git进行更改,我也会欣喜若狂。

我不知道最后的条件在任何IDE或文本编辑器中是否可用。今天,我经过了很多次寻找符合我条件的工作,但其中没有一个能够打开目录。如果无法做到这一点,或者目前无法在任何地方使用,请解释为什么(如果知道),并提供替代方法。

评论

您是否尝试过atom.io?我没有时间完全检查,但是我很确定它可以满足您的所有要求。

我认为您应该重新考虑Eclipse。它肯定比vi重,但我大多数时候都运行三个实例(三个工作区),以及其他各种东西,所以并不可怕。开箱即用中没有git / svn集成,但是两者都有插件。

嗯我刚刚在今天早些时候尝试了Eclipse。我对它不是很印象深刻。脸上似乎有很多随机的,晦涩的功能,看上去很笨拙。不用说,我发现插件界面很难理解。我也很难适应Eclipse似乎对语言转换不太友好的事实。

您为什么不想要IDE?如何计划在没有断点的情况下进行调试?

如今,谁用断点进行调试?当然,除非您要反转没有源代码的二进制文件。 :-)

#1 楼

Atom是一款非常出色的文本编辑器,可以满足您的要求。



免费和开放源代码
JavaScript,HTML,CSS,SCSS和PHP的代码突出显示。 (针对Python和Ruby的奖励)
我上面提到的相同语言的代码完成。



检查。 Atom是开源的,其中包括针对您提到的语言的代码突出显示。通过软件包提供了一些自动完成功能。


内置终端或终端插件的可用性。



选择。



SFTP / FTP远程编辑。




我对此不确定,但您提到您正在使用Ubuntu。我通常只是在Nautilus中使用“文件”→“连接到服务器”来挂载资源,然后使用Atom或其他编辑器来处理文件。如果您真的希望它由Atom管理,则此软件包似乎是一个不错的起点。



可以打开目录而不是单个文件。 (远程和非远程。)




您可以将一个或多个目录设置为项目,并且将在导航窗格中看到文件。我经常在要使用的工作目录中运行atom .。外观如下:





如果程序是IDE,则它必须是轻量级的。 (不是像Eclipse或Netbeans这样繁重的东西。)





轻量级对于不同的人可能意味着不同的事情。 Atom在Electron(基于铬)上运行。启动有点慢,并且可能会遇到大文件问题,但是我发现在具有4 GB RAM的系统上使用它完全可以。


我也会欣喜若狂,因为它可以执行版本控制并能够使用Git推送更改。


Atom由GitHub开发。您在导航窗格中看到的颜色代表每个文件的状态。我没有使用它,但是此软件包似乎可以通过键盘快捷键提供不错的Git功能。

评论


我真的非常喜欢Atom。自从我上次看到该项目以来,该项目已经有了很大的发展。终端加软件包是我使用过的功能的最佳实现。不幸的是,SSH远程文件编辑软件包非常糟糕。一次只能打开一个文件,或者两端都需要子服务器等。

– Allenph
16年5月12日在9:19

实际上,我不明白您为什么要让Atom处理您的SSH连接。让Nautilus做到这一点。 ;-)

– Andrea Lazzarotto
16年5月12日在9:30

我也尝试过。 Atom抱怨说,在安装服务器时,它无法删除文件,无法保存任何内容。

– Allenph
16年5月12日在9:34

@Allenph您确定没有权限问题?

– Andrea Lazzarotto
16年5月12日在13:34

嗯远程服务器是Debian。它抱怨缺少垃圾桶等。

– Allenph
16年5月13日在6:03

#2 楼

Geany(发音为“ genie”)是GPL2,重量轻,突出显示OP的指定语言,完成代码,具有内置终端(或插件式终端),等等。

FTP和目录打开,不是,但是有点像-开发人员建议使用Fuse或LUFS挂载远程文件系统,它们提供与FTP等相同的功能。

GeanyVC插件可以使用版本控制(git,subversion等),而git-changebar可以提供更多git功能。

评论


实际上,我今天早些时候正和Geany开玩笑。我遇到的主要问题是,它对如何索引项目似乎非常挑剔。根据我在网上可以找到的内容,您必须在项目中保留一个.geany配置文件,该文件明确定义了属于该项目的文件。仅使用单独创建一个Laravel项目将是手工编制索引的噩梦。

– Allenph
16年5月11日23:47