積雲が映像制作したMV『RANGEFINDER』公開中
日常専門88IO

Manjaro Linux & Java環境構築

日常

モバイルアプリを主に開発する部活に入部し、チュートリアルとしてJavaを学習することになりました。

以前の記事のとおりThinkPad X260もLinux PCになったので、ここで開発環境を構築しました。

X260のSSD換装
モバイルアプリ開発を主とする部活に入部したのですが、そこで先輩にLinuxを強く勧められたため導入することに決めました。今回は前段階としてSSDの換装です。
Linux導入2019
前回SSDの換装を行ったのでLinuxの導入を行います。
スポンサーリンク

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でどうにかなってはいますが…

機会を伺ってLSPへの対応を考えています。今のところdeoplete.nvim + LanguageClient-neovim + eclipse.jdt.lsの導入を考えていますが、その場合NeoVimが必要になるので…(以下ループ)

プロジェクトディレクトリ

X260に搭載しているSSDはWindowsとLinuxでFat32の共有領域を設けているので、ここにプロジェクトファイルを置くことにしました。

しかし、現状では手動でマウントする必要があるので自動化する予定です。

GitHubでの公開

部活でのチュートリアル毎に課題が出題されるのですが、その一部をGitHubに置いています。他の人に書き方をチェックしてもらうこと、高校の所属していた班でこれからもJavaを続ける可能性があること(Maxの影響)を考えてのことです。

GitHub - 88IO/JavaTutorial: bukatu
bukatu . Contribute to 88IO/JavaTutorial development by creating an account on GitHub.

また、Vimの設定も公開しているdotfilesに含まれています。

GitHub - 88IO/dotfiles
Contribute to 88IO/dotfiles development by creating an account on GitHub.

意見があれば、Twitterで「ココの書き方をこうした方がいい」など教えていただけると幸いです。

コメント

タイトルとURLをコピーしました