写点什么

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:002224

评论

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

前端【js】学习JavaScrip心得

恒山其若陋兮

5月月更

setState 和 ModelBinding用法对比来看局部刷新效果

岛上码农

flutter ios 安卓开发 跨平台开发 5月月更

MP4封装格式

Loken

音视频 5月月更

模块1作业回答

Geek_701557

架构实战营:毕业总结

刘璐

Cocos Creator学习のTiledMap

空城机

Cocos 5月月更

C++最佳实践 | 3. 安全性

俞凡

c++ 最佳实践

【愚公系列】2022年05月 二十三种设计模式(十四)-命令模式(Command Pattern)

愚公搬代码

5月月更

在线TSV转XML工具

入门小站

工具

如何保证 Redis 高可用和高并发(主从+哨兵+集群)

Ayue、

redis sentinel Redis 核心技术与实战

模块九作业 - 设计电商秒杀系统

smile

架构实战营

SpringWebFlux中WebClient怎么打印日志?

编号94530

spring 日志 WebFlux WebClient

druid 源码阅读(五)初始化连接池总结

爱晒太阳的大白

5月月更

14岁懂社会- 《歧视也没什么错》读书笔记 - 丁点思考的车轱辘书

懒时小窝

读书笔记 14岁懂社会

架构实战营 - 第 6 期 模块五课后作业

乐邦

「架构实战营」

模块1-作业

Fan

架构实战营

ArrayList源码分析-初始化

zarmnosaj

5月月更

C++最佳实践 | 5. 可移植性及多线程

俞凡

c++ 最佳实践

Laxcus分布式操作系统三代UI演进之路

LAXCUS分布式操作系统

分布式计算 操作系统 分布式存储 并行计算 GUI设计

架构实战营:毕业项目《电商秒杀系统》

刘璐

一、什么是云原生安全

穿过生命散发芬芳

云原生安全 5月月更

一文掌握MySQL中的二进制日志,MySQL 优化学习第10天

梦想橡皮擦

5月月更

《原则》读书笔记 - 又臭又长

懒时小窝

读书笔记

Redis「3」持久化

Samson

学习笔记 Redis 核心技术与实战 5月月更

Maven 依赖管理与生命周期

Emperor_LawD

maven 5月月更

Nacos源码系列—订阅机制的前因后果(上)

牧小农

源码 nacos

C++最佳实践 | 4. 可维护性

俞凡

c++ 最佳实践

一篇文章带你了解云计算

工程师日月

5月月更

在线文本去重统计工具

入门小站

工具

学生管理系统(3)

5月月更

【LeetCode】不含重复字符的最长子字符串Java题解

Albert

LeetCode 5月月更

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