モバイルアプリを主に開発する部活に入部し、チュートリアルとしてJavaを学習することになりました。
以前の記事のとおりThinkPad X260もLinux PCになったので、ここで開発環境を構築しました。
JDKの導入
標準のパッケージマネージャーとリポジトリが優秀なおかげか、
pacman -Ss jdk
によるインストール候補が30個近くありました。
今回は部活が推奨しているOpenJDK Java 12をインストールしました。
pacman -S jdk-openjdk
VS Codeの導入
部活で推奨されたのはVS Codeでした。高校の後輩(Max)はEclispeを推奨していたのですが、入門にIDEは必要ないという考えなのか開発もVS Codeで事足りるのかはまだ分かっていません…
LinuxでVS Codeをインストールする場合、基本的には公式サイトからtarファイル等をダウンロードして行うのですが、Manjaro Linuxにはyay(旧yaourt)があります。こちらはリポジトリに登録されているパッケージのバイナリをダウンロード・インストールするのではなく、ソースからビルド・インストールを行うことができます。
yay -S visual-studio-code-bin
あとは、Javaファイルを開いたときに推奨される拡張機能をインストールすれば完了です。
Vim8の設定
他の1年生は言われた通りVS Codeを使っているのですが、僕はひねくれているのでVimを使っています。
deoplete.nvim等を使うためにNeoVimへの移行も考えてはいるのですが、意外と足取りが重いです。現在使っているプラグインでaleやlightline.vimに関しては設定を引き継げるのですが、unite.vim, neocomplete.vimからdenite.nvim, deoplete.nvimへの移行でvimfiler(unite.vim依存)が使えなくなるといった課題にぶつかっています。(defx.nvimで左側に常駐させる方法が分からない…)
それはさておき、vimのjava補完にはvim-javacomplete2を追加しました。以下は設定です。
[[plugins]] repo = 'artur-shaik/vim-javacomplete2' on_ft = ["java"] hook_add = ''' autocmd FileType java setlocal omnifunc=javacomplete#Complete '''
最小限ですね。何が必要かまだ分からないので順次加えていく予定です。関数の補完、自動インポートははありがたいのですが、public static等が補完されないのが微妙なところです。sonictemplete-vimとneosnippet.vimでどうにかなってはいますが…
結局、
vim8はneocompleteで補完。
neovimはdeoplete,LanguageClient-neovimを使ったlspでの補完
にした。lspの設定難しいからonivimプロジェクトに期待。
— 88IO (@88IOBF) June 23, 2019
機会を伺ってLSPへの対応を考えています。今のところdeoplete.nvim + LanguageClient-neovim + eclipse.jdt.lsの導入を考えていますが、その場合NeoVimが必要になるので…(以下ループ)
プロジェクトディレクトリ
X260に搭載しているSSDはWindowsとLinuxでFat32の共有領域を設けているので、ここにプロジェクトファイルを置くことにしました。
しかし、現状では手動でマウントする必要があるので自動化する予定です。
GitHubでの公開
部活でのチュートリアル毎に課題が出題されるのですが、その一部をGitHubに置いています。他の人に書き方をチェックしてもらうこと、高校の所属していた班でこれからもJavaを続ける可能性があること(Maxの影響)を考えてのことです。
また、Vimの設定も公開しているdotfilesに含まれています。
意見があれば、Twitterで「ココの書き方をこうした方がいい」など教えていただけると幸いです。
コメント