スクリプト・プラグイン
スクリプト・プラグイン : First Release of Spe
投稿者 : yamyam 投稿日時: 2003年07月05日 (1963 ヒット)

First Release of Spe

作者である stani氏の記事です。

SpeはBlender用のPython IDE(統合環境)で、文法チェックや自動インデント、自動コンパイル、対話型シェル、tipの表示、ローカルとBlenderでのブラウジング、ドラッグ&ドロップ、メニューとツールバーのカスタマイズができます。実行にはPythonの完全インストールとwxpythonが必要です。


Stani's Python Editor (spe)
もっともふさわしいと思われるBlender用Python IDEの試みと普及。

OS: Windos、Linux(alpha版)、FreeBSD(alpha版)
Homepage: http://projects.blender.org/projects/spe/
スクリーンショット: speblenpy
作者: http://www.stani.be
インストール
'python setup.py install'と入力
(さらに詳しい説明は同梱のREADME.txtをご覧下さい)

必要な物
Python22
wxPython-2.4.0.7u
Blender 2.27

内容
機能
便利な情報(下記)
総合的な問題
Linuxに関しての問題

機能
ファイルごとのサイドバー
*クラス/メソッドブラウザ(ソースへジャンプ)
*自動的todoリスト、重要な物のハイライト表示 (ソースへジャンプ)
*自動的アルファベット順クラスとメソッドのインデックス(ソースへジャンプ)
*注釈機能

ツール:
*対話型シェル
*ローカルブラウザ(左クリックで開き、右クリックで実行)
*独立したセッションの記録
*フォルダ、またはサブフォルダ内のpythonファイルへのすばやいアクセス(クリックで開く)
*制限のない最近開いたファイルの表示(左クリックで開き、右クリックで実行)
*開いたファイルへの自動的なtodoリスト。最も重要なひとつをハイライト表示 (ソースへジャンプ)
*開いたファイルの自動的アルファベット順インデックス(ソースへジャンプ)

Python関連:
*文法チェック
*文法の色分け
*自動インデント
*自動入力補完
*calltips

ドラッグ&ドロップ: 複数のファイルやフォルダをドロップできます。
*メインフレームに置くと開きます。
*シェルに置くと実行します。
*recent filesにおくと最近開いたファイルに追加されます。
*ブラウザに置くとフォルダが追加されます。

総合的機能:
*どこででもコンテクストヘルプの設定が可能。
*メニューとツールバーのボタンのカスタマイズが可能。
*exit&remember(リジューム):開いたファイルは次回にも自動的にロードされます。
(Blenderのセッションに便利です)
*wxPython GUIなのでクロスプラットホーム(Windows、Linux、Mac)。
*スクリプトは違う方法で実行できます。run、run verboseそしてimport。
*エラー発生後ソースコードの該当の行へジャンプします。
*rememberのトグルスイッチ: セッション毎で開いたファイルの記憶が可能。

そして最後になりましたが…

Blender related:
*アイドル時間にBlender画面を再描画します(暗転しません)。
*Blenderオブジェクトのツリーブラウザ(cameras,objects,lamps,...)。
*メニューにお気に入りのスクリプトを追加可能。
*100% Blender互換: Blender内での実行可能です。したがって、これらすべての機能はBlender内でも利用可能です。

***

便利な情報
SPEの機能をより深く知るために、すべてのコンテクストヘルプのチェックをお勧めします。そこに記載されていない情報をここに記します。

*Blender:
SPEをBlender内で動かすには、こう入力して下さい。

import spe
spe.main()

…そして[Alt]+[P]を押すとSPEが起動し、Blenderの画面は自動的に更新されるようになります。対話シェルに入力したコマンドもしくはSPE内で走らせたプログラムの結果は、Blenderのウィンドウに表示されます。ただし残念ながらSPE実行中は、直接Blenderを操作することはできません。例えばマウスで画面を回転することは不可能になります。(たしか一度Python開発チームがこの問題を解決して、BlenderとSPEを同時に動かすことができたと記憶していますが、幻だったかもしれません)。

*Psyco:
もしpsycoモジュールをご存知でないなら、このアイテムはあなたにとってなんの意味もないと思ってください。PsycoプログラムはSPEでは'locals()'関数を利用不可にしているため動作しません。もちろんpsycoをSPEで使用できるようプログラムを変更できますが、もし動かしたいのであれば、psyco実行コードをコメントアウトして下さい。

*Refresh:
SPEはエクスプローラツリー、インデックス、todoリストなどのように多くの機能をもちます。これらの更新はファイルの保存もしくはrefreshコマンドを実行したときに行われます。これはキーボードの[F5]を押したり、ツールバーボタンの[refresh]、もしくはView>Refreshメニューによっても行われます。

*Remember option:
これはFile>Rememberをチェックするか、ハートのツールバーボタンを押すと利用できます。最後のセッションで開いたスクリプトを自動的に開きます。BlenderとSPEを行き来するときに便利です。

*ファイルの実行:
SPEにはファイルを実行する方法がいくつかあります。
-Run (F9):
特別な理由がない限りこれがデフォルトです。対話型シェルの名前空間内で走ります。よってあなたのプログラムのすべてのオブジェクトと関数はシェルとローカルブラウザ(シェルの次のタブ)で利用可能になります。

-Run with profile (Ctrl-P):
上記と同じですが、プロファイルがつきます。プロファイルはプログラムの実行時のプロセスもしくは関数が時間を消費するのを報告します。もしあなたがコードをスピードアップしたいとき、この報告を元に優先順位を決められるのです。

-Run in seperate namespace (Ctrl-R):
runと似ていますが、プログラム内で定義されたすべてのオブジェクトと関数は対話型シェルの名前空間では利用できなくなります。その代わり、対話型シェルの'namespace'辞書で定義されることになります。ですからもし'script.py'ファイルをこの方法で実行すると、namespace['script.py']とシェルで入力すれば、この辞書にアクセスできます。
また、namespace['script.py'].keys()ですべての定義された名前のリストを得られ、namespace['script.py'].items()ですべての名前とその値をタプルで得られます。さらにローカルブラウザで'namespace'を見る方法もあります。

-Run verbose (Alt-R):
これは一回以上(訳注:未確認です)インデントがされていないシンプルなプログラムです。対話型シェルで入力したようにすべてのソースの行を送りこみます。たぶん初心者用のいい学習ツールとなるでしょう。

-Import (F10):
ソースファイルをモジュールとしてImportします。
->実行するファイルは保存する必要はありません。インポートするファイルは最初に保存しておくことをお勧めします。

*文法チェック:
保存するたび、SPEは文法のチェックをします。もし間違いがあれば、SPEはソースコードの該当の行へジャンプし、エラーをハイライト表示を試みます。

***

総合的な問題:
- Undoが時々大きく後退してしまう。
- editors.txtはインストールされたエディタについて出来る限り記述していますが、多くの人には「インストールしてすぐには」動かないかもしれません。もしそうであれば、あなたのシステムに適合するようにして下さい。

Linuxに関しての問題:
*unicode:
SPEがwxSTCを使用しているので、wx libをunicode/gtk2でコンパイル時、問題が発生するかもしれません。あるユーザが最近unicode/gtk2でwx 2.4.0をコンパイルしたところ、少量のwidgetが全く作動しなかった、と報告していました。


印刷用ページ このニュースを友達に送る

投稿された内容の著作権はコメントの投稿者に帰属します。

ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki