Nova 是 Panic(Coda 背后的团队)推出的一款新的(坚决地仅限 macOS)代码编辑器。它就像“Coda 3”,只不过这次进行了重大重写,因此他们为它起了一个全新的名字。
我在他们构建过程中使用了一些 Beta 版本。在正式发布时我获得了一些折扣,因此我购买了它,并且在一些场合使用它。以下是我的一些想法!

像许多其他人一样,我正在使用 VS Code。VS Code 非常好并且免费。我在一个团队工作,团队中的其他成员也使用 VS Code。很难摆脱我 VS Code 的肌肉记忆。我之前写过关于 切换代码编辑器 的文章。简而言之
- 任何东西一开始都不能令人讨厌。也就是说,我可以在转换 *之后* 重新学习东西。
- 必须有一些杀手级功能使其具有吸引力。
我真的很喜欢 Prettier 和 Emmet。如果我不能使用它们,我肯定会放弃。幸运的是,它们是最受欢迎的扩展之一。

Emmet 的默认扩展是 Ctrl-E
,并且它不适用于 Tab
扩展(据我所知),这不是我最喜欢的。不过,它确实具有 Emmet 可以执行的所有 额外花哨的功能,您可以将其映射到您想要的任何键。
键绑定设置很棒。我能够映射所有我习惯使用的功能,例如将 Command-T
设置为“快速打开”,这就像 VS Code 中的“转到文件…”设置。

我启用了近 30 个 VS Code 扩展。它们都为我个人在 VS Code 中添加了一些小巧的功能。我还没有错过任何一个。如果 Nova 的默认行为非常好,以至于不需要那么多第三方调整(除了我前面提到的两个主要功能之外),对我来说将是一个额外的好处。例如,我不需要插件来使我的缩进全部彩虹化,因为它们已经是彩虹化的了!

“在项目中查找”是我每天至少要执行十几次的操作,因此对于我来说,这需要非常完美地工作。到目前为止,我唯一的问题是它似乎经常卡在“索引文件…”上(或者感觉卡住了,因为它导致风扇旋转)。也就是说,它似乎返回了良好的搜索结果。
Nova 的 Mac 特性非常非常强。对“在项目中查找”搜索结果进行范围限定(例如仅返回 *.js
文件)需要创建一个新的搜索范围。我可以使用自定义名称保存该范围,这是一个不错的主意,但它使用了 macOS Finder 中非常冗长的 UI 重型搜索范围,而不是一个我可以快速键入 *.js
来限定结果的快速输入字段。换句话说,这仅仅是强调 Mac 特性而不是实用性的一个例子。

另一个超级 Mac 特性是右键单击文件夹以打开文件浏览器:这与在 Finder 中右键单击文件夹完全一样。在某种程度上这令人欣慰,因为该菜单中包含许多强大的功能。

但它也缺少可能在上下文中很有用的功能。例如,我想念“在终端窗口中打开此文件夹”的选项。
UI 细节非常棒。选择编码字体首选项非常棒。小地图看起来很棒,带有表示您代码的小彩色矩形。窗口和编辑器主题做得非常好。UI 的一切都很优雅。


它仍然是 Coda 的继任者,因此如果您需要 SFTP 到远程服务器并进行直接编辑,它就在那里。我前几天不得不这样做来编辑一个我故意不包含在 git 中的文件,因此该功能有时仍然很方便。

否则我会使用 Coda 来完成此操作,甚至不必为 Nova 设置它,因为 Panic Sync 带来了所有这些身份验证信息。
我确实有点喜欢内置浏览器(当然,是 Safari)。我想知道我是否可以养成肌肉记忆,以便能够只在一个应用程序中工作而无需进行太多窗口切换。这意味着文件浏览器、代码编辑器、终端、浏览器和 DevTools。

一次看到这么多东西,但……有点酷?我希望它可以选择使用内置的 Chromium,因为我碰巧更熟悉这些 DevTools。也有一些粗糙的边缘,例如我在终端中的小型 tmux 会话没有响应点击事件。
有趣的是,Swift 不是内置语言。鉴于它的 Mac 特性,我原本以为 Panic 甚至用 Swift 编写了 Nova 的至少一部分。
如果没有别的,您应该查看 Nova 着陆页 以了解所有 CSS 技巧!说明 Nova 主题的图像上的动画 clip-path
超级酷(我听说 clip-path
动画在 Safari 中是硬件加速的,这很棒!)。它只是将一些图像叠加在一起,所有图像都共享相同的动画,并错开。
@keyframes wipe
{
0% { clip-path: polygon(-50% 0%, 0% 0%, -50% 101%, -100% 101%) }
100% { clip-path: polygon(150% 0%, 200% 0%, 150% 101%, 100% 101%) }
}
/* ... */
img#interface1 { animation-delay: -17000ms; }
img#interface2 { animation-delay: -15000ms; }
img#interface3 { animation-delay: -13000ms; }
img#interface4 { animation-delay: -11000ms; }
不过 <hr>
……太漂亮了
哦,并查看 display-p3
颜色格式的使用!

其中一个不好的地方……它无法在 High Sierra 上运行,我需要继续使用它,这样它才不会破坏我的 CS6 应用程序。哇!
这是付费或赠送的评测吗?
不是。
“坚决地[M]acOS 独占”是直接的交易破坏者。苹果强迫我使用 MacOS(或某些第三方云服务)来构建 iOS 应用程序已经够糟糕了。Sketch *可以* 由于利用 Metal 而摆脱困境,但代码编辑器?!去他的。我不会仅仅为了做一些我可以用(并且超级广泛地)在 Linux 和 Windows 以及 MacOS 上运行的应用程序轻松完成的事情而改变我的工作流程。
我认为这是一个完全可以接受的观点。他们绝对知道有很多像你这样的开发者。我没有感觉到他们不在乎,只是他们非常刻意地制作了一个 macOS 专用编辑器,因为他们想这样做,并且正在发挥他们的优势。
强迫代码编辑器只能在 Mac 上使用对我来说没有意义。为什么要这样做?我认为他们将会惨败。
Coda 1 和 2 非常受欢迎,并且也仅限于 Mac,所以我认为他们不会“惨败”。Panic 是一家 MacOS 软件公司。为什么这是一个问题?他们没有“强迫你使用 MacOS”。他们正在为 MacOS 用户创建软件。区别很大。
喜欢 Coda,可惜我因为我的黑苹果被功能性地锁定在 High Sierra 上而不得不使用它(长话短说)。一直在尝试切换到 Windows,但 Coda 拥有最适合我的 FTP 客户端(考虑到 Panic 也制作 Transmit,这令人震惊)。
Codas 的 FTP 支持到底哪里特别好?它可以工作,有点,除非它不能工作,然后很难找出确切的原因……
我经常使用 Filezilla 查找某些晦涩服务器的确切工作 FTP 配置,以便我可以在 coda 中使用该配置,因为无法找出问题所在。
此外,传输大量文件通常会在某个时候停止,并且您没有关于哪些文件成功传输、哪些文件出错以及哪些文件甚至没有开始的记录……因此您必须重新执行所有操作,或使用可以管理和输出这些信息的客户端。
内置的 FTP 远程编辑功能对于小型项目来说很好,当然,但它助长了不良习惯。
然后,OSX 集成并不是真正那么有益……他们完全依赖于系统库,一旦(再次)Apple 决定禁用某些东西,他们就不得不继续前进,强迫你也这样做,或者坚持使用某个旧系统(不是他们的错,但他们没有阻止它)。除此之外,OSX 的那些文本库在例如搜索替换大型文本文件(CSV、SQL 等)时非常慢,因此在这方面也没有优势。
总而言之,这是一个混合包,我不想切换到 Nova……相反,我今天开始在使用 Coda 多年之后迁移到 Visual Studio Code,因为我习惯了它。我觉得这可以奏效(Brackets 没有,Sublime 也没有),并且会带来一些解放和跨平台的一致性。
@Snail 我应该澄清一下……
它绝对不是最好的 FTP 客户端,我经常遇到它在尝试上传内容时出现故障的问题,你说的它助长不良习惯(由于各种原因,既愚蠢又合理,我不“部署”大多数项目)是正确的。
老实说,它优于其他客户端的唯一之处在于发布面板;使用我尝试过的所有其他客户端,包括 Transmit,我的选项是
a) 手动选择并批量上传我更改的文件
b) 使用同步功能,该功能坚持检查远程上的每个文件,并且没有选项可以简单地假设我的本地文件较新
借助 Coda 的设置,我修改的每个文件,无论是直接修改还是通过编译器修改,都会进入一个队列,准备批量上传。我不会错过忘记修改的文件的上传,也不必每次都处理冗长的同步检查。我甚至可以挑选哪些排队的文件现在、稍后发布,或者清除直到下次修改。在我看来,这是一个如此简单的功能,但我还没有在任何我用过的程序中找到它。我或许可以在 Electron 应用或 VS Code 扩展中构建一些能够实现此功能的东西,但现在我的空闲时间少得惊人。
同意,发布功能是我多年来一直使用 Coda 的原因。尝试过大多数其他的,但没有一个在这方面能与 Coda(或 Nova)匹敌。
Doug,你试过 binarynights 的 Forklift 吗?那是我使用的分屏 Finder 替代品和 ftp 客户端,我几乎整天都在使用这个应用。
等等,与 VS Code 或 Codium 相比,有什么优势吗?仅仅是 Mac 特性吗?
仅限 Apple,哇
这种盲从的心态真是让我震惊。
从什么时候起,服务于偏好 Mac 的特定市场就构成了从众心理?Panic 一直以来都是为 Mac 设计软件的,这是他们的专长。发挥自己的优势并没有错。
目前不支持 React JSX 和 TSX 语法高亮,这让我立刻就放弃了。我知道有一些扩展,而且将来也会有,但也许我以后需要再看看。
但知道我需要切换到另一个代码编辑器会很痛苦,这很难。我的 VSCode 是根据我多年前在 Sublime 中学习的所有键绑定设置的,尽管 Nova 的扩展库中有一个键绑定部分,但里面什么也没有。
我刚刚花了几个小时试图让 Nova 记住本地文件夹,但我仍然没有弄清楚。我以前使用 Coda 并非常喜欢它,但后来他们停止更新,FTP 开始变得不稳定。然后我尝试了 VS Code,在安装了许多插件之后,它或多或少地像一个功能更强大的 Coda 编辑器一样工作。我不介意为 Nova 付费,但我必须说我对此感到非常失望。我想我会继续使用 VS Code。此外,Panic 花了 3(4 年?)年才推出这款新软件,这让我有点紧张。我理解他们的游戏软件可能优先级更高,但我不喜欢将自己投入到这款软件中,却发现更新缓慢,新功能添加缓慢的想法。
Panic 再次因这种愚蠢的平台锁定产品而搬起石头砸自己的脚。
好吧。我想我们都会在角落里哭泣,并继续免费享受 VS Code。
一个小故事。我曾经在波特兰参加一个会议。Panic 举办了一个开放办公室活动,并允许人们来参观。那是一个非常酷的办公室,他们非常热情好客。我真的很敬佩他们,现在依然如此。如果我的公司能取得他们已经取得的成功的 10%,我将非常幸运。他们制作他们喜欢的软件,并将其出售给想要购买的人。虽然我承认(即使在这篇文章中)其中一些方面不是我最喜欢的,但他们似乎与“蠢货”相去甚远。
我于 2008 年切换到 Mac,特别是为了使用 Coda,这是我做过的最好的开发者决策之一。(那时也开始关注 Chris Coyier。)我去年确实切换到了 VS Code,因为 Coda 变得缓慢且过时了,但我期待尝试 Nova!
到目前为止,我真的很享受使用这款编辑器(大约用了两个星期)。在可用的扩展方面,肯定还有很大的提升空间,但体验非常流畅……
我已经每天使用它几个星期了,并且非常喜欢它。我原以为我不会喜欢它,因为自从几年前从 Coda 切换到 VS Code 以来,我已经成为 VS Code 的忠实粉丝,但是这款软件让我记起了 Panic 的软件有多棒。是的,还有很多提升空间,但到目前为止一切都很顺利!
对于这里不理解为什么 Nova 仅限 Mac 的评论者:它是 Panic 开发的,Panic 是一家经验丰富的 Mac 开发商,过去开发过一流的仅限 Mac 的应用。提供出色的 Mac 应用是他们的基因。
作为一个喜欢四处玩弄和自定义事物的人,Coda 总是太静态了。“我就是我”,Coda 这样说,并且对此毫不道歉。
对于想要一个功能强大的编辑器,并且提供 VS Code 需要一些配置才能获得的诸多便利的用户来说,它确实很棒。VS Code 则适合真正需要这种灵活性的开发者。
我同意 Chris 的观点;Panic 是一家很棒的公司。他们仅产品的多样性就值得尊敬。我也很敬佩一家公司能够按照自己的意愿做事,并且做得很好。
“开发一个电子游戏会不会很有趣?”
“Jim!你真是个天才。我们来做吧!”
“如果我们制作一个奇怪的手持游戏设备呢?”
“是的。我们应该在上面装一个曲柄。”
“今天早上我在去大楼的路上被一只鹅袭击了。它给了我一个想法……”
我希望有人能开发一个现代化的 CSSEdit 应用。这就是我想要和需要的全部。
我的项目文件夹中有多个子项目通过符号链接到其中。Nova 的项目搜索似乎不遵循符号链接。或者是我做错了什么?
如果他们有一个 Sublime Text 和/或 VS Code 语法定义的转换器就好了。在过去,新的编辑器通过直接加载或转换 TextMate 包来引导语法。这样可以节省一些不必要的麻烦,让你回到原来的位置。
对语言服务器的支持还不够,因为仍然需要一个插件来表达语言服务器执行的操作,以便它显示在 Nova UI 中。
这并没有解决 Mac 独占的问题——除了 Panic 之外,没有人能做到。这对于仅限 Windows 或仅限 Linux 的开发者或其他(合理地)想要跨平台工具的开发者来说是一个问题。对于 Panic 来说,问题在于至少存在两个不错的选择。但是,如果其中一个是 Mac 独占的,那么这就不成问题了。
希望他们有一个简单的模式,可以在启动时加载上次关闭时打开的内容。这并不是什么大问题,但几乎地球上所有的编辑器都有这个功能。当你关闭项目加载器时,应该发生这种情况。之前加载的内容可能不可用,但这并不妨碍:只需恢复到默认值或空窗口即可。你可以关闭项目加载器,然后执行文件/打开最近… …但是,为什么不帮我加载我最最近的内容呢?这并不总是我的想要的,但我有多少次关闭编辑器并在以后返回到我正在做的事情?……很多次。
我喜欢阅读那些对开发平台有偏见的人的抱怨。我通过在 Mac、Windows 和 Linux 机器上工作赚了钱。当我从 Windows 切换到 Linux 时,这有点困难,但后来我发誓我再也不会回到 Windows 了。后来,我切换到 Mac,我发誓我再也不会在 Linux 或 Windows 上进行开发了(好吧,有时我确实在它们上面工作,所以发誓毫无意义)。我现在最喜欢的是我的 M1 Mac,我不会再在其他任何东西上进行任何严肃的工作。我使用过 Coda 一段时间,但当时觉得它太 Mac 化了。在尝试了其他大多数流行的编辑环境后,我选择了 VSCode。我的好奇心战胜了我,我选择了 Nova。哇,这是我使用过的性能最好的环境(好吧,没有 vi 那么好)。唯一让我无法删除 VSCode 的原因是它没有 VSCode(以及现在的 PhpStorm)拥有的远程编码功能。我不确定这是否会发生,所以我怀疑我还会保留 VSCode 一段时间。在我看来,它是一个很棒的编码环境。我不在乎它是否仅限 Mac,对我来说,OSX 是迄今为止最好、最稳定、最易于使用的开发环境。其他人的情况可能会有所不同,他们有权这样做。我宁愿拥有一个快速的原生编辑器,而不是 Electron 应用的前端。
我使用 coda 没有问题。最近我遇到一个问题,我无法使用通常的自定义主题功能。右侧页面仍然是空白的。尽管多次尝试获得支持……没有回应。
有没有简单的技巧,无需通过浏览器访问自定义页面?