BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Atom 1.13ではベンチマーク、プロジェクト履歴、キーストロークリゾルバAPIを提供

Atom 1.13ではベンチマーク、プロジェクト履歴、キーストロークリゾルバAPIを提供

原文(投稿日:2017/01/25)へのリンク

Atomは、GitHubのElectronベースのオープンソースのテキストエディタであり、バージョン1.13ではユーザと開発者にとって新しい機能追加と改善がされている。例えば、ベンチマークツール、Reopen ProjectメニューオプションとAPI、ChromeのキーボードイベントをAtomスタイルのキーストロークにマッピングするカスタムキーストロークリゾルバが追加されている。

Atom 1.13以前は、Atomのcodebaseの変更がパフォーマンスにどのように影響するかを測定する唯一の方法は、Chromeのプロファイラを使用することであった。Atom 1.13では新たにatom --benchmarkオプションを追加した。そのオプションによって、開発者は自身のマシンでベンチマークを実行し、同じベンチマークを実行したときに異なるバージョンのAtomがどのように異なる振る舞いをするかを比較できる。ベンチマークコマンドは、コマンドパレットでWindow: Run Benchmarksを呼び出すことでも利用できる。そのコマンドを呼び出すことによって、benchmarksディレクトリにある全てのベンチマークを実行する。atom --benchmarkを呼び出すと、CSV形式のテキスト出力が得られる。あるいは、Atomは画面にベンチマークを描画する。

一般的でないコマンドラインオプションに頼らずに、エディタを前の状態に戻せるようにするために、バージョン1.13では新しいReopen Projectコマンドと関連するatom.history APIが導入された。新しいAPIには、.getProjects().clearProjects()、および.onDidChangeProjects(callback)エンドポイントが含まれている。キャッシュされるプロジェクト名の数は、core.reopenProjectMenuCountを使用して定義でき、デフォルトは15である。

さらに、Atom 1.13には、新しいキーストロークリゾルバAPIが追加されている。このAPIの目的は、キーストロークの解釈を定義できるようにすることで、キーボードイベント処理に関連する多くのバグを解決することである。

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

このAPIは、特に、修飾キーが使用されているときや国際的なレイアウトのときは、キーボードイベント処理を改善するのに役立つはずである。

最後の注意として、Atom 1.13ではShadow DOM boundaryを取り除いた。それは、エディタのコンテンツを保護された名前空間内でレンダリングするために使用されていたものであり、エディタに付属のスタイルとワークスペース内の他の要素を対象とするスタイルとの間の衝突を防ぐためのものである。Shadow DOM boundaryのアプローチにはいくつかのissueがある。バージョン1.13では、構文上のクラス名の先頭にsyntax--を付け加えるアプローチであるLight DOMに置き換えられた。

.syntax--source.syntax--js .syntax--operator {
  color: #000000;
}

Atomsでは、既存のテーマやパッケージからShadow DOMスタイルを削除するプロセスについて説明するガイドが提供されている。必要な変更は下位互換性がないため、アップグレードされたテーマやパッケージは1.13より前のバージョンのAtomでは実行できない。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT