しかし、プログラミングにおいてもAIの力が使われるようになってきたようです。そんな新しい時代を予感させるのがTabNineです。
TabNineとは
プログラミングエディタには入力補完と呼ばれる機能が付いています。例えばドット(.)を入力した瞬間に、そのオブジェクトが持っているメソッドをリストアップしてくれたり、関数の引数を提示してくれる機能です。この入力補完を使うことで、プログラマーの入力ミスを防いだり、生産性を高めることができるのです。
TabNineはそんな入力補完の高機能版といえます。深層学習を用いることで、より精度の高い入力補完を実現します。なんと、200万にもおよぶGitHub上のファイルをベースに学習を行っており、その中でよく使われるパターン、最適な構文を提示してくれます。
TabNineが対応している言語は下記の通りです。大抵のプログラミング言語は含まれるのではないでしょうか。
- Python
- JavaScript
- Java
- C++
- C
- PHP
- Go
- C#
- Ruby
- Objective-C
- Rust
- Swift
- TypeScript
- Haskell
- OCaml
- Scala
- Kotlin
- Perl
- SQL
- HTML
- CSS
- Bash
TabNineが利用できるプログラミングエディタは次の通りです。こちらもメジャーなものは大抵含まれています。特にVisual Studio Codeと相性がいいようです。
- Visual Studio Code
- IntelliJ Platform (IntelliJ IDEA, PyCharm, Android Studioなど)
- Sublime Text
- Vim
- Emacs
- Atom
- Jupyter Notebook
試してみる
今回は簡単な例としてVue CLIでシンプルなTodoリストを作成するハンズオン① – Qiitaで試してみました。元々Vueプラグインでもコード補完が提供されていますが、TabNineでは定型ではない候補が表示されるようになります。右側にはパーセンテージが出ます。機械学習らしく、パーセンテージで表示されるのが面白いです。
下のように、インストールしていない時の入力補完と比べると、ずいぶん内容が違うのが分かるかと思います。
特に興味深いのは、一度書いたコードを覚えていて、候補に含めてくれることです。 this.lists.splice
はキャプチャ前に一度試しで書いているので、候補にコードがそのまま出現しています。
プロジェクトの規模が大きくなり、定番の書き方のようなものを学習してくれると、さらに候補の精度が高くなりそうです。
まとめ
TabNineは個人ではとても不可能な200万というソースコードからプログラミングを学んでいます。プログラミング初学者にとっても、この入力補完は役立ちそうです。他の入力補完ライブラリが不要になる訳ではなく、組み合わせて使うとさらに効果的な印象です。
TabNineは有料版もありますが、無料から利用もできます。ぜひ皆さんのプログラミングに役立ててください。
Home | TabNine
TabNineの動作原理を詳しく知りたい方はこちらのツクレル作って学ぶ人工知能がオススメです!