linuxBean14.04(7)GeanyでLibreOfficeのPythonマクロ編集

2015-05-02

旧ブログ

t f B! P L

前の関連記事:linuxBean14.04(6)LibreOffice4.3.7とPyCharmの設定


PyCharmは多機能ですが動作が重いので軽量ソースコードエディタGeanyでもPythonマクロが編集できるように設定します。動作テストにはlinuxBean14.04(6)LibreOffice4.3.7とPyCharmの設定で使ったのと同一のunopy.pyとtest.pyを使います。

PPAでGeanyの最新版をインストールする


linuxBean14.04ではデフォルトでGeany1.23.1がインストールされています。

Geany : Home Pageではすでに1.24.1が公開されています。

PPA for Geany Developers : “Geany Developers” teamではすでに1.24.1が公開されているので、このPPAから最新版のGeanyをインストールすることにします。

deb http://ppa.launchpad.net/geany-dev/ppa/ubuntu trusty main 

このリポジトリをSynapticパッケージマネージャに登録します。


リポジトリの再読み込みをすると公開鍵が利用できない、というエラーがでてきました。

一旦Synapticパッケージマネージャを終了します。

豆メニュー→設定→linuxBean設定ウィザード。


PPAの公開鍵を取得、をインストールします。

インストールが完了したら再度Synapticパッケージマネージャを起動してリポジトリの再読み込みを行います。

今度はエラーがでませんでした。

LP-PPA-geany-dev/trusty リポジトリを選択します。

geanyをアップグレード指定にすると、geany-commonもアップグレードされます。

Geanyにはいろいろなプラグインがあります(Plugins for Geany)。

geany-pluginsパッケージをインストール指定にするとscope、markdown、commnderを除くすべてのプラグインがインストール指定になりました。

インストールしたプラグインはGeanyのメニュー、ツール→プラグインマネージャで確認できます。


説明が日本語化されているものもあります。

Geanyの設定


Geanyのメニュー、編集→設定。

まずLibreOfficeのPythonマクロフォルダをプロジェクトファイルのパスに設定します。

「全般」「起動/終了」タブ。


パスの欄の「起動時のパス」と「プロジェクトファイル」をともにLibreOfficeのマイマクロフォルダにします。

LibreOfficeのマイマクロフォルダは隠しフォルダなので「フォルダを選択」からは選択できないので以下のパスを直接入力します。

/home/pq/.config/libreoffice/4/user/Scripts (pqはユーザー名)


「全般」「その他」タブ。

デフォルトではプロジェクト設定ファイルがプロジェクトフォルダの親フォルダに保存されることになっており管理しにくいの設定を変更します。


プロジェクトフォルダに保存されるように、「プロジェクトファイルをプロジェクトの基本ディレクトリに保存しますか?」にチェックをいれます。

「インターフェイス」「インターフェイス」タブ。

プラグインの「ツリーブラウザ」を使うことにしたので「文書リストを表示」のチェックをはずしました。


「インターフェイス」「ツールバー」タブ。

ツールバーをカスタマイズ。


「インデントを減らす」「インデントを増やす」「検索して置換」を表示される項目に追加しました。

編集→書式→行をコメント化、のボタンもほしいのですがそれはないようです。

「エディタ」「機能」タブ。


「改行時に行末の空白を除去」。

「エディタ」「補完」タブ。


「引用符と括弧の自動補完」に全部チェックをいれました。

「ファイル」タブ。


「行の終端が正しいかどうか確認」「行末の空白とタブを除去」にチェックをいれました。

プラグインの機能


とりあえず働きがわかって使ってみたプラグインを書いておきます。

ファイルブラウザ(デフォルトプラグイン)


ファイルタブにファイルブラウザが追加されます。


設定はこのようにしましたが、次に紹介するツリーブラウザを使うことにしたのでこのプラグインはオフにしました。

ファイルタブで右クリック→Open Externally、でフィルマネージャで同じフォルダを開くことができます。

ツリーブラウザ(TreeBrowser plugin)


ファイルブラウザと違ってフォルダ構造もわかります。

PyCharmの表示に近くフォルダ操作もできるのでファイルブラウザではなくてこのツリーブラウザを使うことにしました。


設定でファイルマネージャから開けるようにpcmanfmを指定しました。


ツールバーのボタンは左から、「上に移動」「表示を更新」「ホーム」「文書からパスを設定」「(ツール)バーを隠す」になります。

ファイルやディレクトリの新規作成や削除をすると、すでにあるツリー構造と変更後のツリーが表示されてしまいますので「表示を更新」ボタンは頻繁に使わないといけません。

ちょっと面倒です。

「文書からパスを設定」ボタンは現在開いているファイルのフォルダを開いてくれますが、ツリーは表示されません。

LibreOfficeのPythonマイマクロフォルダをGeanyのプロジェクトフォルダに設定する


まずPythonのマイマクロフォルダをGeanyのプロジェクトフォルダに設定します。

Geanyのメニュー、プロジェクト→New。


プロジェクト名はpythonにします。

そうすると「基本パス」には自動的にLibreOfficeのPythonのマイマクロフォルダ/home/pq/.config/libreoffice/4/user/Scripts/pythonが入ります。

「ファイル名」にはGeanyのプロジェクト設定ファイル名が自動的に入ります。

「プロジェクトファイルをプロジェクトの基本ディレクトリに保存しますか?」にチェックをいれたので、プロジェクトファイルは「基本パス」の中に作られます。

PythonマイマクロフォルダのルートをPYTHONPATHに設定するシェルスクリプトfor_geany.sh


linuxBean14.04(6)LibreOffice4.3.7とPyCharmの設定でunopy.pyはPythonのマイマクロフォルダの最上層に置いたので、実行時にunopy.pyを読み込めるように基本パスをPyCharmと同様にPYTHONPATHに設定するようにします。

「ツリーブラウザ」で/home/pq/.config/libreoffice/4/user/Scripts/pythonを開きます。

何も選択していない状態で右クリック→ファイルを作成。

新しいファイル名をfor_geany.shにします。

「ツリーブラウザ」は操作するたびに表示が重複したりするので、気になるたびに「表示を更新」ボタンをクリックしましょう。

for_geany.shに実行権限を付与します。

for_geany.shを選択した状態で右クリック→Open Externally。

ファイルマネージャでfor_geany.shを右クリックしてファイルのプロパティ、パーミッション。

アクセス制御をすべて「すべて」に変更します。

これで実行権限の付与が完了です。

Genayに戻ってツリーブラウザでfor_geany.shをダブルクリックして右の枠にでてきたfor_geany.shに以下を入力します。
#!/bin/sh
export PYTHONPATH=$1
/opt/libreoffice4.3/program/python $2
このfor_geany.shへ渡す1つ目の引数でunopy.pyのあるフォルダのパスを渡してそれを2行目でPYTHONPATHに設定し、3行目で2つ目の引数で渡したPythonマクロファイルをLibreOfficeのバンドルPythonで起動します。

for_geany.shを保存します。


ツリーブラウザでみるとPythonのマイマクロフォルダはこのようになっているはずです。

__pycache__とtest.pycはlinuxBean14.04(6)LibreOffice4.3.7とPyCharmの設定で使ったPyCharmが生成したものなので今回はなくても問題ありません。

「実行」メニューにLibreOfficeのPythonマクロを実行するコマンドを設定する


Geanyのメニュー、ビルド→ビルドコマンドを設定。


コマンドを実行の「実行」のコマンド欄に%p/for_geany.sh "%p" "%d/%f"と入力して「OK」。

%pはプロジェクトの基本パス、%dはGeanyで開いているソースファイルがあるディレクトリへのパス、%fはそのファイル名、%eは拡張子を除いたファイル名、を表します。

これでfor_geany.shの1つ目の引数でunopy.pyのあるフォルダのパス、2つ目の引数にPythonマクロファイルをわたせます。

(2015.5.30追記。pyファイル以外のファイルも同じコマンドに変わってしまうためファイルタイプの設定ファイルにコマンドを入力することにしました。linuxBean14.04(26)Geanyのビルドコマンドの設定参照。)

GeanyからLibreOfficeのPythonマクロを実行する


linuxBean14.04(6)LibreOffice4.3.7とPyCharmの設定で作ったランチャアイコンでLibreOfficeを起動してそこからWriterを起動します。

Geanyでtest.pyを開き、ビルド→実行。

Writerに「Hello World!」と表示されれば成功です。

実行結果のTerminalウィンドウが表示されている間はGeanyのツールバーの実行ボタンに変化しているはずです。

をクリックするとTerminalウィンドウが閉じてに戻ります。

参考にしたサイト


Geany : Home Page
軽量ソースコードエディタ。

PPA for Geany Developers : “Geany Developers” team
GeanyのPPA。

Plugins for Geany
Geanyのプラグイン集。

PYTHONPATH について — kenkovlog
シェルスクリプトでPYTHONPATHを追加する方法。

Windowsユーザーに教えるLinuxの常識(8):bashで始めるシェルスクリプト基礎の基礎 (1/2) - @IT
シェルスクリプトの作り方。

次の関連記事:linuxBean14.04(8)GeanyでLibreOfficeのPythonマクロをデバッグする

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ