SlickEdit

作者:Shawn Powers

对于极简主义程序员,有 vim。对于其他人,有 SlickEdit。

几年前,当我注意到 SlickEdit 在我们网站上的广告时,我就爱上了它。虽然大多数公司都使用您在科技行业期望的那种网络广告,但当 LOLCat 图片出现在我们常规广告的位置时,我重新审视了一下。诚然,有一瞬间我以为我们可能被黑客入侵了,但当我意识到我看到的是一个聪明的营销活动时,我认定 SlickEdit 的人还不错。我最近有机会评测 SlickEdit,虽然我的编程技能相当新手,但 SlickEdit 让我觉得宾至如归。

SlickEdit 是一款为程序员设计的文本编辑器。然而,将 SlickEdit 称为文本编辑器,就像将《回到未来》中的 DeLorean 称为日常用车一样。SlickEdit 使文本编辑和功能齐全的 IDE 之间的界限变得非常模糊。它适用于九个平台,值得庆幸的是,Linux 也是其中之一。在这篇评测中,我将介绍它的功能,您可以决定它是文本编辑器、IDE 还是介于两者之间的东西。

安装

如果您曾经在 Linux 中安装过闭源应用程序,那么安装过程就相当简单。32 位和 64 位版本都可用,在我安装它的少数几个系统上,我没有遇到任何依赖问题。安装必须在命令行中执行,因为安装过程中存在交互(图 1)。默认情况下,程序安装到 /opt/slickedit 目录。(感谢 SlickEdit 的人员没有在安装目录中使用奇怪的大小写;这太令人沮丧了。)

图 1. 安装必须在命令行中完成;没有 GUI 安装程序。

第一次启动 SlickEdit 有点麻烦,因为安装程序似乎没有在系统菜单或桌面上创建任何图标。桌面图标在 SlickEdit 首次启动后创建,但您必须克服需要启动程序才能创建程序启动图标的第 22 条军规。默认情况下,启动 SlickEdit 的可执行文件是 /opt/slickedit/bin/vs,在命令 shell 中输入该命令会启动程序及其初始向导。

在快速启动向导期间,您开始看到 SlickEdit 的一些简洁功能。图 2 显示了用于选择键盘仿真的配置屏幕。如果您习惯于特定的键绑定集(例如我使用的 vim),SlickEdit 默认可以使用这些熟悉的键绑定。如果您的需求与提供的十几个以上的仿真选项不一致,您甚至可以自定义仿真。

图 2. 按键仿真使 SlickEdit 的行为类似于您最喜欢的编辑器。

在初始向导阶段配置的另一个简洁功能是自定义您希望代码的外观。图 3 显示了可以为所有语言设置的缩进和花括号样式配置。缩进和显示花括号和括号的方法当然不会更改编译后的产品,但它们使代码看起来符合您的喜好。而且,快乐的程序员是高效的程序员,对吗?

图 3. 如果 SlickEdit 要节省时间,它需要知道您喜欢如何格式化代码。

您可以更改许多其他初始设置,例如颜色主题、字体大小和选择等等。配置完成后,您甚至可以选择导出您的设置,以便可以在另一台机器上导入它们。如果您在家和工作场所都使用 SlickEdit,为了确保您的开发环境匹配,这是一个很棒的功能。

初步印象

一旦初始快速启动完成,很容易被功能集所淹没。值得庆幸的是,尽管 SlickEdit 拥有令人难以置信的功能数量,但理解所有功能并不是编码的先决条件。如图 4 所示,我直接使用一个简单的 Bash 脚本来查看它处理代码格式化的效果。正如预期的那样,它看起来和行为都非常好。

图 4. 我混乱的 Bash 脚本被正确识别,没有任何问题。

接下来,我尝试使用 SlickEdit 的新功能之一,即 Git 存储库交互。在这里,我遇到了一些挫折。虽然我可以让 SlickEdit 识别我的本地克隆 Git 存储库,但使用 GUI 工具与远程 GitHub 存储库交互始终会锁定界面,需要我杀死进程并重新开始。诚然,我是一个新手程序员,但我的幼稚不应该锁定程序。然而,Git 支持是新的,因此可能需要消除一些错误。

虽然 Git 支持是新的,但 SlickEdit 仍然内置了 FTP 来访问远程存储库。我真的很喜欢使用内置文件管理或单独操作我的文件的灵活性,只需使用 SlickEdit 浏览本地文件结构即可。

功能和功能和功能

SlickEdit 是一款代码编辑器,实事求是地说,它在这方面确实非常出色。代码高亮等一些功能是预期的,但其他一些功能在人群中脱颖而出。我在下面列出了一些我最喜欢的功能。

键盘仿真

正如我之前提到的,这对于来自其他程序的程序员来说是一个优势。自定义单个按键的能力很好,但使此功能如此出色的是对其他熟悉程序键绑定的内置支持。Emacs 爱好者?您无需学习新的按键即可编辑代码。Vim 大师?同样适用——您可以通过按 <ESC>:wq 来像上帝期望的那样保存和关闭文件。

语言支持

作为一名程序员,我个人仅限于少数几种语言。事实上,当涉及到 Java 时,我甚至无法向世界问好。SlickEdit 在这方面让我承担了任务,支持 40 多种语言。公平地说,其中一些语言是特定于其平台(即 Microsoft)的,但我无法想到它不支持的任何一种语言。

使用 SlickEdit 等工具的优势之一是,由于它了解您可能不熟悉的语言,因此它是一个直接进入不熟悉的语法代码的绝佳工具(这引出了我下一个最喜欢的功能)。

自动完成

虽然并非完全是 SkyNet 型人工智能,但 SlickEdit 通过自动完成您的命令来节省时间——并且具有适当的特定于语言的语法。例如,如果您在 C++ 文档中键入 for 并按下空格键,SlickEdit 会自动创建完成条件循环所需的括号和花括号。我发现在语言之间切换时这非常有用,因为编译器不像人脑那样宽容不正确的语法。

自动完成不仅仅停留在代码语法上;SlickEdit 还在您键入时自动完成任何符号或单词。这对于长符号或变量名非常有用。SlickEdit 实时搜索您的打开文档以查找匹配项,并弹出一个框显示它找到的匹配项。如果您不想使用自动完成,只需忽略弹出框并继续键入即可。焦点不会从您正在键入的内容上移开。

备份

正如我所提到的,SlickEdit 支持 Git 等版本控制系统,但它还会在每次保存文件时保留更改历史记录。即使您尚未提交更改,您仍然可以查看对文件所做的更改历史记录。如果您不小心保存了错误,访问保存历史记录真的可以救您一命。

DIFFzilla

SlickEdit 使用一个名为 DIFFzilla 的工具来比较文件。也可以比较包含文件的文件夹或编辑器中的活动缓冲区。DIFFzilla 的优点在于,它会尽最大努力重新格式化不可编译的差异(例如空格或无关紧要的换行符),以便并排显示代码。这看起来可能是一个很小的功能,但它使逐行比较文件变得轻而易举。事实上,您可以直接从 DIFFzilla 窗口编辑代码,并且更新会写回到您打开文件的位置。图 5 显示了 DIFFzilla 的运行情况。

图 5. DIFFzilla 添加了诸如“假想行缓冲区”之类的东西,以便对齐代码,使其更易于查看。

代码模板

对于一遍又一遍地使用代码块的程序员(FOSS 的基础,不是吗?),SlickEdit 支持代码模板。基本上,任何常见的编码元素都可以保存为模板并在项目中轻松使用。重复使用代码绝不是革命性的,但模板系统使其易于做到。通过使用模板,不再需要搜索/替换文件以使其与您的项目匹配。SlickEdit 会自动更改模板的指定部分以匹配您的需求。

正则表达式测试

没有正则表达式的生活将很难梳理。我知道这是一个糟糕的笑话,但是正则表达式虽然功能强大,但也可能令人费解,尤其是在编码一整天之后。SlickEdit 包含一个“正则表达式评估器”,可让您针对测试数据实时测试您的正则表达式。它不能保证您的正则表达式是完美的,但实时测试可以帮助消除愚蠢的错误。

程序员喜欢重用代码,但他们也倾向于一遍又一遍地重复相同的任务。SlickEdit 具有一个巧妙的宏录制功能,因此您可以为您经常需要执行的过程分配一个键盘快捷键。它可以像添加/删除注释的键一样简单,也可以像重写代码段一样复杂。

如果您有复杂的宏要创建,SlickEdit 包含其自己的专门用于宏的编程语言。Slick-C 具有极其复杂的功能,可以与 SlickEdit 程序的几乎每个方面进行交互。如果您通常在开始新项目时执行一长串过程,则可以将 SlickEdit 编程为只需按一下键即可为您完成这些过程。有关 Slick-C 语言的信息,请访问 SlickEdit 网站。

魔术粘贴

不,我不是在谈论您在幼儿园吃的东西,而是普通的复制/粘贴。当您将一段代码从一个地方粘贴到另一个地方时,SlickEdit 会自动匹配缩进和花括号位置。这是另一个不影响编译代码的功能,但它使源代码更易于阅读,并且共享起来不那么尴尬。

内置命令行

我敢打赌,Windows 程序员比我们在 Linux 中更欣赏的一个功能是内置命令行界面。激活后,命令行提供一组可以命令行样式访问的命令。它与 Linux 命令行非常相似,可能会让人感到困惑,因为虽然某些输出是相似的(例如键入 ls),但它并非真正的 Linux shell。但是,对于快速的无鼠标文件交互,学习可用的命令是值得的。

新功能

如果您过去一直是 SlickEdit 用户,您可能会发现 SlickEdit 2011(版本 16)有一些非常出色的增强功能。值得 Linux 用户注意的是以下几点

  • 适用于使用 64 位 Linux 的用户的 64 位版本。

  • Ruby 调试。

  • Git 支持。

  • 多线程。

虽然大多数新功能都是不言自明的,但多线程不仅仅是微小的代码效率提升。过去,当解析源代码进行标记时,SlickEdit 会迫使用户等待。现在,会弹出一个小框,告诉您它正在后台工作。对于包含大量文件的大型项目,这项看似微不足道的功能可以节省大量时间。

结论

SlickEdit 是一款出色的工具。作为一名新手程序员,我几乎没有触及其全部功能的表面,但即便如此,我发现它非常有用。我最喜欢的功能之一是键盘仿真,这使得学习曲线稍微平缓一些。虽然它的功能使其成为全职专业程序员的理想选择,但不幸的是,它的价格也是如此。SlickEdit 的单用户许可证价格为 299 美元,并非适合所有人,但对于在时间就是金钱的环境中工作的程序员来说,仅其节省时间的功能就足以在短期内收回成本。

除了少数小问题,例如尝试配置 Git 时的锁定,SlickEdit 在我的测试过程中非常稳定。GUI 本身似乎使用了专有工具包,或者是我不熟悉的工具包。菜单有时表现得很奇怪,并且偶尔拒绝关闭,需要我单击主窗口外部才能使其正常运行。这可能是与我的 Xubuntu 桌面的一些奇怪冲突,但无论如何,这都不是一个致命的问题。

如果您想试用 SlickEdit,可以免费试用 15 天,其中包括 SlickEdit 支持团队的帮助。如果您是 Eclipse 用户,则可以将 SlickEdit 核心编辑器作为 Eclipse 的插件。这两个选项都可以在 SlickEdit 的网站上找到:http://www.slickedit.com

Shawn 是 Linux Journal 的副编辑,并且从一开始就接触 Linux。他对开源充满热情,并且热爱教学。他还喝太多咖啡,这经常在他的写作中表现出来。

加载 Disqus 评论