BT

Atom 1.9ベータがパフォーマンス向上とドラッグアンドドロップによるタブレイアウトを実現

| 作者: Sergio De Simone フォローする 12 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2016年7月20日. 推定読書時間: 3 分 |

原文(投稿日:2016/06/08)へのリンク

GitHubのAtomテキストエディタのバージョン1.9ベータ0バージョン1.8と同時に発表された。再設計されたバッファディスプレイレイヤ,ドラッグ・アンド・ドロップによるタブのレイアウト,Electronのアップグレードなどが注目点だ。

GitHubのエンジニアであるAntonio Scandurra氏によると,Electron - Atomが構築されているフレームワーク - がバージョン0.37.8にアップグレードされたことにより,レンダリングに加えて,コールドスタートアップ時間の大幅な短縮や全般的な応答性の向上など,多くの面でパフォーマンスが改善されている。さらにAtomの“ディスプレイレイヤ”が再設計されたことで,ソフトラップが有効な場合やテキスト領域の一部が畳み込まれている場合など,特定の条件下での編集とスクロールが高速化したということだ。新たに設計されたディスプレイレイヤでは,自由形式の畳み込みができるようになった。行全体だけでなく,任意の範囲のテキストを畳み込むことが可能だ。

GitHubのエンジニアであるNathan Sobo氏は,テキストバッファライブラリ機能の一部である新しいディスプレイレイヤについて,バッファの低レベルのコンテンツとレンダリング方法との対応性の欠如に対処するための便宜的な手段だ,と説明している。これは,例えば,ハードタブやソフト改行や先頭の空白などファイル内に存在しない視覚的表現や,ファイル内に存在するコンテンツを画面に表示しない畳み込みなどの処理に関するものだ。これらの問題は,構文強調表示やテキスト装飾など,パーザで取得可能なもの以上の情報が必要な機能にも関連する。要するに,Sobo氏が言いたいのは,ディスプレイレイヤが一貫したAPIを提供することにより,開発者はそのような問題にすべて対処できるようになる,ということだ。例えば,

let layer = buffer.addDisplayLayer({
  tabLength: 1,
  invisibles: {space: '•', cr: '¤', eol: '¬'},
  softWrapColumn: 80,
  foldCharacter: '…'
})

// Fold arbitrary ranges
layer.foldBufferRange([[1, 2], [3, 4]])

// Translate and clip points
layer.translateScreenPosition([3, 4])
layer.clipScreenPosition([3, 4])
layer.translateBufferPosition([1, 2])

// Get transformed text
layer.getText()

// Get line objects for a row range to render on screen.
// These are represented in an "interesting" format for storage efficiency.
layer.getScreenLines(0, 5)

UIに関しては,Atom 1.9ベータ版では,ドラッグ・アンド・ドロップによるタブレイアウトの変更が可能になった。タブを別のタブ上にドロップすれば,下のイメージで示すように,垂直または水平に分割することができる。

さらにWindows上のCygwinMsysとの互換性の向上や,ファイルリカバリサービスの導入によるファイル保存時の信頼性向上も実現されている。

Atom 1.9ベータ版と合わせて,GitHub 1.8安定版もリリースされた。こちらでは環境変数の扱いの改善や1列でテキストを左右に移動する新コマンド,前回終了時にオープンしていたウィンドウの再現の有無をより詳細にコントロールする機能,といった改善が中心である。

 
 

この記事を評価

関連性
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT