環境
Windows 10 Pro 1709(16299.192)
Docker version 17.12.0-ce, build c97c6d6
CentOS Linux release 7.4.1708 (Core)
MobaXterm Persomal Edition Build 3582
Eclipse Installer version: 1.7.0 Build 3059(4.7 oxygen)
Pleiades-Eclipse日本語化プラグイン 2017.10.20版
はじめに
Dockerイメージ「centosjp」を元に、Eclipseをインストールした「dev_eclipse」イメージを作成します。
Dockerイメージ「centosjp」の作り方は、Window10に日本語対応CentOS7のdockerコンテナを作ってみたを参照。
MobaXtermのインストール方法は、EclipseをインストールしたDockerイメージを作ってみたを参照。
EUC-JPの文字を含んだC++のソースコードをコンパイルできる環境を作ります。
メモ
・Eclipse直接の日本語入力ができない。IMEが半角となってしまう。
☞ (暫定対応)Windowsのメモ帳等で入力した日本語をコピペする。
・一定時間イベントがないと、Eclipseが強制停止してしまう。
☞ (暫定対応)セッションタイムアウトが起きないよう、xeyesを起動しておく
yum install xeyes
xeyes &
・Gktのエラーメッセージが出力される。
(Eclipse:261): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node trough, owner GtkProgressBar)
(Eclipse:261): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
☞ (解決)起動する前に、export SWT_GTK3=0 とするとエラーがでなくなる。
export SWT_GTK3=0
./eclipse
1.「Dockerfile」を作成
FROM centosjp
LABEL maintainer "michiru <0ashina0@gmail.com>"
#キャッシュクリア
RUN yum clean all
#"Development and Creative Workstation"グループのインストール
RUN yum -y install deltarpm
RUN yum -y groupinstall "Development and Creative Workstation"
#Eclipseダウンロード
RUN wget -q -O /tmp/eclipse-inst-linux64.tar.gz "https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-linux64.tar.gz&mirror_id=1"
RUN tar xavf /tmp/eclipse-* -C /opt/
RUN ln -s /opt/eclipse-installer /usr/bin
# 日本語プラグインをダウンロード
ADD http://ftp.jaist.ac.jp/pub/mergedoc/pleiades/build/stable/pleiades.zip /tmp
RUN unzip /tmp/pleiades.zip -d /tmp
# gccのインストール
RUN yum -y install gcc
RUN yum -y install gcc-c++
2.「Dockerイメージ」devの作成(Eclipseインストール直前のイメージ)
PS C:\Users\UserName> docker build ./ -t dev
3.「Dockerコンテナ」の作成&起動
PS C:\Users\UserName> docker run -it -e DISPLAY=<ホストのIPアドレス>:0.0 dev
例) docker run -it -e DISPLAY=192.168.11.12:0.0 dev
4.Eclipseのインストール
[root@275f75a472cb ~]# /usr/bin/eclipse-installer/eclipse-inst
Refer to Eclipse IDE Downloads
5.日本語プラグインの追加
[root@275f75a472cb /]# cp -r /plugins/* /root/eclipse/cpp-oxygen/eclipse/plugins/
[root@275f75a472cb /]# cp -r /features/* /root/eclipse/cpp-oxygen/eclipse/features/
6.日本語プラグインの読み込みの設定追加
7.起動
/root/eclipse/cpp-oxygen/eclipse/eclipse
8.プロジェクト作成
9.ビルド
10.実行
11.結果
12.日本語入力(UTF-8)
日本語を入力して実行
(Window上のメモ帳に日本語入力したものを、Copy&Pasteしている。)
CentOSがUTF-8なので、UTF-8でファイルが作成される。
ファイルのプロパティーで確認する(ファイルを選択し「Alt+Enter」)と、UTF-8になっている。
13.日本語入力(EUC-JP)
プロジェクトの文字コードをEUC-JPに変更
プロジェクトを選択し「Alt+Enter」。テキストファイルエンコードをEUC-JPを入力。(プルダウンにはないので、直接入力する。)
文字化けするので、一旦削除し再入力後、実行。
ファイルのプロパティーもEUC-JPになっている。
fileコマンドで確認。EUC-JP(fileコマンドはISO-8859と表示する)のファイルが作成されている。
[root@275f75a472cb ~]# file eclipse-workspace/test/src/test.cpp
eclipse-workspace/test/src/test.cpp: C source, ISO-8859 text
[root@275f75a472cb ~]#
参考)UTF-8の場合
[root@275f75a472cb ~]# file eclipse-workspace/test/src/test.cpp
eclipse-workspace/test/src/test.cpp: C source, UTF-8 Unicode text
[root@275f75a472cb ~]#
14.等幅のフォントに変更
ソースコード特に全角を含む場合、等幅のフォントのほうが見やすいので、等幅フォントに変更する。
一般->外観->色とフォントメニューを選択後、テキストフォントを選択。編集ボタンをクリックする。
メモ
環境により起動エラーとなる。
「6. 日本語プラグインの読み込みの設定追加」で-Xverify:none
をeclipse.iniに追加したことによるものらしい。
日本語でなくても困らないので(いちいちプラグインをインストールする必要があるが)、日本語プラグインの使用はやめている。