EZ Completionは、GitHub全体を巨大な知識データベースとして捉え、開発者が作成しているプログラムと類似したプログラムがGitHub上にある場合には、補完候補として提示します。 具体的には、プログラム上に定義された関数を監視し、似たような関数が実装されているソースコードをGitHub上から取ってきます。 要は、巨人の肩の上に立ち、車輪の再発明はやめようというコンセプトです。これにより、開発者全体で類似コードを作成する必要がなくなり、開発者はプロジェクト固有部分の開発に集中することができます。 仕組みはこんな感じ 1. 自分のプロジェクトに関係ありそうな特定のキーワードからGitHubのリポジトリをクローリングし、ローカルにリポジトリをダウンロード 2. ローカルにダウンロードしたファイルに定義されている関数の情報を抽出し、検索用インデックスを作成 3. 自分が作成しているプロ
![GitHub上のコードを補完候補にするEZ Completionを作った](https://cdn-ak-scissors.b.st-hatena.com/image/square/77aea2d32822b82bc79753b1f021ab6d2df8f2b5/height=288;version=1;width=512/http%3A%2F%2F4.bp.blogspot.com%2F-b5GWaQ7O_Bs%2FULbYq0rsLtI%2FAAAAAAAADRc%2FLDQOFt3tijY%2Fs220%2Ficon.png)