10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Atom 1.13 的版本提升

  • 2017-01-18
  • 本文字数:960 字

    阅读完需:约 3 分钟

Atom 是 GitHub 基于 Electron 的开源文本编辑器,它的 1.13 版本 为用户和开发人员增加了许多新的特性和改进,包括一个基准工具,一个“重新打开项目”菜单选项和 API,以及一个自定义按钮解析器,它可以把 Chrome 键盘事件映射为 Atom 风格的按键。

在 Atom 之前,只能使用 Chrome 的分析工具来度量 Atom 代码库中的变更对性能有怎样的影响。Atom 1.13 版本引入了一个新的 atom --benchmark 选项,使开发人员可以在他们自己的机器上运行基准测试,从而比对不同 Atom 版本在运行同一基准测试时的差异。这个基准测试命令也可以在 Window 下的命令行中执行:执行 Benchmarks 将执行在 benchmarks 目录下找到的所有基准测试。如果你调用 atom --benchmark,将得到一个 CSV 格式的文本输出;此外,Atom 将在屏幕中描绘出基准测试的情况。

为了能够不必使用不常用的命令行选项就可以回到之前的编辑状态,1.13 版本引入了一个新的“重新打开项目”命令及其相关的atom.history API。这个新的 API 包括.getProjects()、.clearProjects() 和.onDidChangeProjects(callback) 端点。可以使用 core.reopenProjectMenuCount 定义缓存的项目名称的个数,默认为 15 个。

此外,Atom 1.13 版本增加了一个新的按键解析器 API ,它的目标是解决键盘事件处理相关的一些缺陷,采取的方式让你可以去定义如何去解释按键,如以下代码所示:

复制代码
atom.keymaps.addKeystrokeResolver(({event}) => {
if (event.code === 'KeyG' && event.altKey && event.ctrlKey) {
return 'ctrl-@'
}
})

特别是,当辅助按键是用过的以及具有国际化布局时,这将有助于改进键盘事件的处理。

最后要说的是,Atom 1.13撤回了Shadow DOM 边界,在渲染受保护的命名空间内的编辑器的内容时会用到它,从而避免编辑器和该工作空间内其他元素之间的样式冲突。这种Shadow DOM 边界方式遇到了很多的问题,在1.13 版中已经替换为 Light DOM ,这种方式是由 syntax-- 加类名构成,大致格式如下:

复制代码
.syntax--source.syntax--js .syntax--operator {
color: #000000;
}

Atoms 提供了一个指南,该指南描述了从已有主题或包中清除Shadow DOM 样式的步骤。这些所需做的修改不是向下兼容的,这意味着更新的主题或包将无法在Atom 1.13 之前的版本中运行。

查看英文原文 Atom 1.13 Brings Benchmarks, Project History, and Keystroke Resolver API

2017-01-18 18:002643

评论

发布
暂无评论
发现更多内容

《OKR工作法》读书笔记

大饼土博

读书笔记 管理 OKR

[ARTS打卡] week 02

Mau

ARTS 打卡计划

体验碎片-06/06

黄大路

产品经理

食堂就餐卡系统设计-uml练习

森林

架构方法:运用合适的工具表达设计

Skye

极客大学架构师训练营

初识 Docker 与安装 | Docker 系列

AlwaysBeta

Docker

近邻算法介绍

黄大路

数据挖掘 数据分析

教你动手写UDP协议栈

Rice嵌入式开发技术分享

TCP udp 协议栈

软件架构第一章总结

itrickzhang

架构师训练营第一周学习总结

王鑫龙

极客大学架构师训练营

【ARTS打卡】Week02

Rex

食堂就餐卡系统设计

上山砍柴

极客大学架构师训练营

MySQL 笔记(一)基础架构

奈何花开

Java MySQL

如何用一台 MacBook 创造高额年化收益 | ETH2.0 Staking 教程

陈东泽 EuryChen

区块链 Ethereum

repo 导出本地 git tag 给他人

zqb-all

git

在 Windows WSL 2 中使用 Docker Desktop

FeiLong

Docker WSL2

ARTS 第 1 周

乌拉里

ARTS 打卡计划

架构文档

陈皮

架构 极客大学架构师训练营

程序员的晚餐 | 6 月 4 日 最好吃的土豆

清远

程序员摆地摊?你别痴心妄想了,还不如当「在地青年」呢

非著名程序员

程序员 提升认知 职业规划 认知提升

【架构师训练营-作业-1】食堂就餐卡系统设计

小动物

系统设计 极客大学架构师训练营 作业

UML练习1 食堂就餐卡系统设计「架构师训练营」

Young

利其器

宋胖子

IDEA

架构设计文档之食堂就餐卡系统设计

itrickzhang

架构设计 架构文档 架构样例 架构分析 架构总结

架构师课程第一周作业

杉松壁

程序员的晚餐 | 6 月 5 日 爆炒鱿鱼

清远

美食

「架构师训练营」第1周作业 - 食堂就餐卡系统设计

guoguo 👻

极客大学架构师训练营

2020年6月7日 接口、lambda表达式与内部类

瑞克与莫迪

Java 25周年:波澜壮阔的25年

北风

「Java 25周年」

述职报告的一些建议

黄大路

职场

优秀架构师具备的能力

李小匪

极客大学架构师训练营

Atom 1.13的版本提升_JavaScript_Sergio De Simone_InfoQ精选文章