選択したシェイプのポイントをグリッドに吸い付かせるプラグインStickyGridを作りました。

Vectorツールで軽くスケッチしてからこのプラグインを適用することで、簡単に幾何学的なオブジェクトを作ることが出来る。

インストール

リリースページからzipアーカイブをダウンロードし、StickyGrid.sketchplugin をダブルクリックしてインストールする。

もし、より_CLI-way_がお好みであれば、以下のコマンドでもインストールすることが出来る。

cd $HOME/Library/Application Support/com.bohemiancoding.sketch3/Plugins
git clone https://github.com/uetchy/Sketch-StickyGrid.git

使い方

吸い付かせたいシェイプを1つ、または複数選択して ctrl + + G を押すと、パスがグリッドの交差点に吸い付く。

ショートカット以外にも、メニューから__Plugins > Sketch-StickyGrid > Snap to Grid__を選んでも良い。

シェイプはもちろん、グルーピングされたシェイプも、逆にシェイプポイントだけでも吸い付く。

プラグインの開発にあたって

プラグインのデバッグ

デバッギングにはSketch-DevToolsを使っていましたが、最新版のSketchでは使えなくなってしまった。

その代わりにMac標準アプリの Console.app を使う方法が公式デベロッパーサイトの記事 Debugging - Sketch Developer で紹介されている。

スクリプト内でlog関数を呼び出すと、Console.appにログが出力される。

log(context.document.gridSize);

ドキュメントの情報源

ドキュメントは公式デベロッパーサイト Sketch Developer があるものの、パス編集に関するドキュメントは全くなかった。

そこで、class-dump を使って Sketch.app のヘッダーファイルを抽出し、ひたすら 目grep をしてシェイプ操作とグリッドに関するAPIを探し出し、プラグインの実装に役立てた。

また、先人によって公開されている数多のSketchプラグインのソースを見ることも、開発の助けになった。

結論

苦行僧じみたSketchプラグインの開発には class-dumpConsole.app が必携。