分享好用靠谱的,Chrome/谷歌浏览器插件
(.crx格式插件,也支持其他Chromium内核,例如:搜狗浏览器,星愿浏览器,百分浏览器,微软Edge...)

Caret – 文本编辑器

点击下载:Caret_1.8.22.crx

Caret是基于Sublime Text的图形文本编辑器,完全脱机运行(无需Internet连接),并且能够在硬盘上的任何位置打开和保存文件。Caret的目标是提供Chrome OS开发人员故事中缺失的部分:认真的程序员工具,而无需安装第二个OS并学习Vim。

介绍:

Caret是Chrome和Chrome操作系统的文本编辑器。这是一个打包的应用程序,意味着所有内容都以网络技术编写:JavaScript,HTML和CSS。尽管如此,它还是有用且强大的,模仿了Sublime Text的许多最佳功能。实际上,自最初发布以来,Caret几乎完全是在Chrome操作系统上完全开发的。

使用标签:

像大多数严肃的图形文本编辑器一样,Caret的工作流程基于标签,每个标签一个文档。在大多数情况下,这是您可能已经在浏览器中熟悉的基于选项卡的流程的自然扩展。以下是一些需要注意的提示:

  • 插入标记可以通过拖动来重新排序。但是,如果将选项卡拖出窗口,它将不会打开新的Caret窗口(尚不提供多窗口支持)。
  • 按Ctrl-tab将在各标签之间切换。与浏览器不同,选项卡按上次使用的顺序激活,这在您要在两个文件之间切换时非常方便。如果要继续在选项卡之间翻转,请在按住Ctrl键的同时反复按Tab键以在整个堆栈中移动。
  • 可以使用右下角的下拉菜单设置选项卡的语法模式(默认为“纯文本”,但会尝试根据文件扩展名进行猜测)。您也可以从第二个下拉菜单中设置主题,但这是应用程序范围的,将应用于所有选项卡。
  • 使用通用的“转到”调色板很容易在选项卡之间切换。按Ctrl-P激活调色板,然后开始输入文件名并按Enter。这只是go-to调色板提供的许多技巧中的第一个。

配置和设置

像它所基于的编辑器一样,Caret以JSON格式存储其配置,并假定程序员的编辑器有能力以更技术的方式公开其工作。方便地,这还节省了编写设置界面所需的时间。插入符与“崇高文本”的不同之处在于,尽管它的设置以这种方式出现在用户手中,但从技术上讲,其设置不会保存为“文件”。相反,它们会保存到Chrome的同步存储中,这意味着无论您登录Google帐户的位置如何,您的配置都会在多台计算机上同步。如果您想在一台计算机上使用某些设置,则可能需要考虑创建一个项目文件。

要编辑设置,请打开设置菜单,然后选择三个主要类别之一:用户首选项,键盘或菜单。这些文件开始时是默认设置的副本(也可以从菜单中获得),并且在加载时将合并到默认配置的顶部,这意味着您只需要在个人配置中包括要更改的部分。最后,您可以从设置>重置子菜单中清除您的首选项。

在大多数情况下,Caret的设置都使用注释以内联方式记录在案,并且应该是不言自明的。但是,也很容易进行实验。保存文件后,将立即重新加载有效设置,因此您可以更改某些内容并立即查看其效果。无效的设置将导致还原为默认设置,因此,如果您在保存文件时看到主题突然变回Chrome,请检查是否有误引入的JSON错误。

项目:

要创建项目,请先单击“项目”>“添加目录”,然后选择要在左侧面板中显示的目录。现在,您可以使用它浏览该目录中的文件-单击文件将在新选项卡中将其打开。如果文件已经打开,则插入符号将切换到该选项卡。您可以通过选择“项目”>“删除所有目录”来清除当前目录。

可以像这样工作,对于快速的目录选择,它甚至很有意义。但是,如果您想保留您的项目(即,在插入符号关闭后重新打开目录),或使用自定义项目设置,则需要生成一个项目文件。从菜单中选择“项目”>“保存项目”,然后确定文件的保存位置。创建项目文件后,可以通过从同一菜单中选择“打开项目”在它们之间进行切换。

项目文件只是JSON,因此易于编辑。它们大致如下所示:

{
   文件夹:[ 
    { 路径 ../../something 保留 43j2klfdu9432klfudsia:something  } 
  ],设置:{
     缩进4 
  } 
}

如果您使用过Sublime项目文件,这应该看起来很熟悉。“文件夹”属性告诉Caret打开哪个目录,“设置”中的所有内容都将覆盖您当前的用户首选项,这在处理具有不同代码样式的项目时很有用。请记住,不要手动更改folders属性,因为Caret需要正确的文件保留ID才能在启动时重新打开它们。如果要更改文件夹,请仅通过项目菜单进行更改。

您可以通过菜单>项目>编辑当前项目文件下的菜单快速打开项目文件。插入符将监视以此方式打开的任何项目文件,并在保存时重新加载更改,因此这是测试特定于项目的配置设置的好方法。

最后,如果要停止使用项目文件并返回常规的插入符号操作,请从菜单中选择“项目”>“清除项目”。这不会删除您的项目文件,但是会隐藏导航面板并取消设置您正在使用的任何项目特定设置。

其他注意事项

关于文件在Chrome上保留方式的令人沮丧的事情之一就是这些项目文件并非严格可移植,因为每台计算机都会为您的项目文件夹生成唯一的保留ID。因此,除非您仅在一台计算机上工作,否则将项目文件检入源代码管理不是一个好主意。

也就是说,您可以从一个地方到另一个地方传输项目文件,以加载给定项目的设置,而Caret会忽略它找到的任何目录。请注意,再次保存项目文件将覆盖旧的文件夹-它们不会合并,尽管将来这样做可能很明智。

指令:

Caret由命令体系结构提供支持:菜单,键盘事件和插件对几乎所有面向用户的操作(以及许多内部操作)响应命令/自变量消息。如果要自定义菜单或键盘映射,此页面列出了所有已知的命令及其效果。

命令由两部分组成,命令字符串和(可选)参数。命令字符串本身分为两部分:名称空间和动词,以冒号分隔。并非所有命令都需要参数,但是允许某些命令以不同的方式或有所不同地操作。浏览菜单和键盘设置应显示这些命令的大量示例,并且通常还通过commandargument属性将它们附加到Caret的DOM元素上。

应用命令

  • app:minimize -隐藏插入符号窗口。
  • app:maximize-最大化插入符号窗口(不是全屏模式)。
  • app:restart -重新启动Caret并重新加载其背景页面。
  • app:debug -如果开发工具已打开,请暂停JavaScript执行并进入调试器。
  • app:exit -关闭插入符号窗口。
  • app:about -显示“关于插入符号”对话框。
  • app:check-for-updates-向更新服务器查询最新版本。如果有较新的版本,插入符将显示通知并提示您重新启动。

编辑器命令

  • ace:command-通过其execCommand方法触发Ace命令。参数是您要触发的Ace命令。有关更多信息,请参见Ace docs / source。
  • ace:togglemacro -打开或关闭Ace的宏录制,并在状态栏中显示其状态。
  • editor:insert– insert()使用参数中指定的文本调用Ace的方法。
  • editor:default-zoom -将缩放重置为其默认大小。
  • editor:adjust-zoom -将字体大小向上或向下移动传递给参数的像素数。
  • editor:theme -将编辑器的主题更改为参数指定的值。
  • sublime:expand-to-line
  • sublime:expand-to-paragraph
  • sublime:expand-to-matching
  • sublime:tabs-to-spaces
  • sublime:spaces-to-tabs
  • editor:word-count -在状态栏中显示当前文档的字符/单词/行数。
  • editor:print-打开当前选项卡的打印对话框。打印的文档将使用当前的编辑器主题,如果您想节省墨水,则可能不是您想要的。
  • ace:trim-whitespace -从每行末尾修剪空格。
  • editor:insert-将在参数中指定的文本插入当前光标位置。对于编写插件很有用。

会话命令(标签管理)

  • session:new-file-打开一个新标签。如果提供了参数,它将用作起始内容。如果没有,它将为空。
  • session:open-file -从文件中打开一个新标签。
  • session:save-file-保存文件。如果文件是新文件,将询问保存位置。
  • session:save-file-as-喜欢,session:save-file但总是要求目的地。
  • session:revert-file -从磁盘重新加载选项卡的内容。
  • session:check-file -测试文件自上次加载以来是否已被修改。
  • session:open-settings-file-从同步存储中打开JSON设置“文件”之一。该参数应指定文件名。
  • session:open-settings-defaults -打开设置JSON的默认形式。
  • session:open-dragdrop– 仅供内部使用。通过鼠标拖放打开文件。
  • session:open-launch– 仅供内部使用。从“文件”应用中打开文件。
  • session:insert-from-file -打开文件对话框,然后将所选文件的内容插入光标位置。
  • session:raise-tab-将制表符放在参数指定的索引处到前台。还会开火session:check-file
  • session:close-tab-关闭当前标签。会要求保存内容是否已被修改。
  • session:change-tab-跳至上次使用的标签(Sublime的默认Ctrl-Tab行为)。通常不通过命令调用。如果按住Ctrl键,则可以继续后退标签页。
  • session:change-tab-linear -向前或向后移动指定数量的标签(Chrome的Ctrl-Tab行为)。
  • session:render– 仅供内部使用。用于触发选项卡元素的重新呈现。
  • session:syntax-将当前选项卡的语法设置为参数指定的模式(不包括ace/mode/前缀)。

项目命令

  • project:add-dir -打开“添加目录”窗口。
  • project:remove-all -从当前项目中剥离所有目录。
  • project:generate -触发“保存项目文件”操作。
  • project:open-file -在项目中打开文件,并在参数中指定文件的显示路径。
  • project:refresh-dir -在项目导航器面板中重新加载目录列表。
  • project:open -向用户询问项目文件的位置并加载。
  • project:edit -在新标签页中打开当前项目文件,并查看其更改。
  • project:clear -从内存中取消当前项目。

其他使用者介面

  • app:show-prompt -显示用于手动输入插入符号命令的“命令提示符”。
  • app:hide-prompt -隐藏命令提示符。
  • palette:open-显示命令/转到调色板。您可以作为参数指定的模式:commandlinereference,和search有效的选择。
  • status:set -在状态栏中显示一条消息。
  • status:clear -删除状态栏中的所有消息。
  • status:toast-在状态栏中显示一条消息,然后将其自动删除。推荐用于status:setstatus:clear,对于从插件发布信息很有用。

API /插件命令(仍处于beta中)

  • api:execute-在“外部命令” JSON文件中查找并触发与参数中提供的ID匹配的命令。有关如何构建这些命令的信息,请参见JSON文件。您可以使用此方法向其他Chrome应用和扩展程序发送消息,前提是它们可以接受来自Caret的消息。
  • 其他应用程序可以使用以下格式将消息发送到Caret的ID:
{
  命令  commandName ,
  说法 可选 
}

如果您完全编辑过keys.json或menus.json文件,则此格式应该看起来很熟悉。

内部命令(模块间通信)

  • init:startup -首次插入所有设置后,插入符启动时触发。
  • init:restart -当设置文件更改或重新加载时触发,以便模块可以重新初始化为新值。
  • init:complete -在初始启动期间加载了所有保留的文件时触发,以便可以安全地运行启动命令。
  • settings:change-local -通知设置模块虚拟设置文件已更改,需要从存储中重新加载。
  • settings:delete-local -删除命令参数中指定文件的所有自定义设置JSON。

常见问题:

Caret是否支持Google Drive / SFTP / Dropbox /其他远程存储提供商?

间接地,是的。Caret能够保存到任何看起来像本地文件系统的文件,包括Chromebook和安装了Drive客户端的计算机上的Google Drive目录。它还将保存到映射到远程资源的任何其他文件夹。但这不会直接保存到这些远程位置,并且我无意添加此功能。

插入符号可以添加对X语言的支持吗?

如果Ace支持,Caret也可以。默认情况下,为了减小软件包的尺寸,并非所有语言都已交付,但是可以很容易地添加它们。提交问题(包括应该与该语法关联的文件扩展名),然后将其添加。

为什么插入符号在Chrome操作系统上打开非文本文件?

为了避免允许Chrome应用注册的扩展名的限制,Caret只需在Chrome操作系统上注册通配符类型。这有一个奇怪的副作用,即操作系统会将它设为无法正常打开的某些文件的默认选项,例如.zip存档。要解决此问题,请使用“文件”应用中的“打开方式”菜单项,将这些文件重新分配给您的首选处理程序。

如何运行在Caret中编写的代码?

不幸的是,Caret不能实际运行任何代码,只能对其进行编辑。请查阅有关所选编程语言的文档,以了解如何实际执行它。请注意,在Chrome操作系统上,如果不安装其他应用程序或将计算机切换为开发者模式,则无法运行某些语言。

Caret是否支持插件?

是! 您可以通过标准的Chrome应用消息系统发送插入符号命令。命令列表在此处可用。您还可以从击键或菜单项中将消息从插入符发送到外部应用程序:查看外部API设置文件以获取更多信息。

如何卸载插入符号?

与所有Chrome应用程序一样,Caret不会通过操作系统的默认安装机制进行安装(除非您使用的是Chrome操作系统)。如果你想摆脱它,我们感到非常遗憾地看到你去,但它是很容易做到。打开Chrome或Chrome应用启动器,右键点击Caret图标,然后选择“从Chrome中删除”或“卸载”将其删除。

插入符可以从命令行打开文件吗?

据我所知。这是Chrome应用程序的局限性,但我相信Chromium团队正在研究解决方案。

功能X在vim仿真模式下已损坏。你能修好它吗?

Caret完全不支持Vim模式:由于它内置在Ace中,因此已作为启用功能启用,因此我几乎不需要做任何事情来将其打开。不过,我写了插入符号特别是因为我不想学习VIM通过自己的Chromebook,而我不使用仿真模式,以往,这意味着我将没有发现,也没有修复中存在的任何错误。使用风险自负。

我想帮助使Caret更好。我该如何开始?

好问题!帮助总是值得赞赏的。如果您是技术人员,请克隆存储库,然后查看contribution.txt,以回答您可能对样式的任何疑问。如果您不是编码人员,您仍然可以提供帮助:文件错误,帮助编写文档,进行UI设计并回答问题!

更多说明:https://github.com/thomaswilburn/Caret/wiki/Git-SFTP-Drive-support

 

赞(9)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    不错

    Google Chrome 80.0.3987.163 Google Chrome 80.0.3987.163 Windows 10 x64 Edition Windows 10 x64 Edition
    zozx4年前 (2020-04-29)回复