はじめに
Maya のスクリプトエディタがおまけ程度なので Visual Studio Code を使って MayaPython を書く環境ができないか模索してみた。
手順
インストール
Visual Studio Code
まずは Visual Studio Code をインストール。持ってる場合はもちろん省略。
Python
Visual Studio Code には、Python 開発に便利な機能をまとめた
Python というエクステンションがあるのでインストールする。
Visual Studio Code 上で F1 を押して下記を入力してインストールする。
ext install python
MayaPort
続いて Visual Studio Code で入力したスクリプトを Maya に送って実行する
MayaPort というエクステンションがあるのでインストールする。
ext install mayaport
MayaPort の設定
まず先に MayaPort の設定を行う。自分は Python ファイルで作ったが、下記のファイルを用意する必要がある。
commandPort -name "localhost:7001" -sourceType "mel" -echoOutput;
commandPort -name "localhost:7002" -sourceType "python" -echoOutput;
import maya.cmds as cmds
cmds.commandPort(name=":7001", sourceType="mel")
cmds.commandPort(name=":7002", sourceType="python")
ファイルが用意できたら、下記の場所に userSetup ファイルを置く。
念のため Visual Studio Code は再起動する。準備はこれで完了。
Windows: <drive>:\Documents and Settings\<username>\My Documents\maya\<Version>\scripts
MacOSX: ~/Library/Preferences/Autodesk/maya/<version>/scripts.
Linux: ~/maya/<version>/scripts.
MayaPort の動作確認
Maya を起動したのち Visual Studio Code に戻り、以下のようなテストファイルを用意する。
print "connected!"
F1 を押してコマンドパレットを開き、以下を入力して MayaPort を起動する。
mayaPort
これで準備スクリプトを送る準備が完了。あとはコマンドパレットの場合は以下を入力する。
※ショートカットキーによる実行も可能。それも併記する。
Python の場合
コマンドによる実行
sendPythonToMaya
ショートカットによる実行
CTRL+SHIFT+P (Mac) ALT+SHIFT+P (Win)
MEL の場合
コマンドによる実行
sendMelToMaya
ショートカットによる実行
CTRL+SHIFT+M (Mac) ALT+SHIFT+M (Win)
Python の設定
Python の設定を2つ変更します。
// 既定の設定を上書きするには、このファイル内に設定を挿入します
{
"python.pythonPath": "/Applications/Autodesk/maya2015/Maya.app/Contents/bin/mayapy",
"python.autoComplete.extraPaths": [
"/Applications/Autodesk/maya2015/devkit/devkit/other/pymel/extras/completion/py"
]
}
python.pythonPath
Python コマンドのパスを指定する。
MacOSX: /Applications/Autodesk/maya2015/Maya.app/Contents/bin/mayapy
python.autoComplete.extraPaths
オートコンプリートに使うファイルの指定。これを設定することでMayaのコマンドに候補が表示されるようになる。
MacOSX: /Applications/Autodesk/maya2015/devkit/devkit/other/pymel/extras/completion/py
MayaPort の動作確認
ただし maya.cmds の候補表示に時間がかかる... おそらく上記のディレクトリにある maya.cmds のファイルが異常に大きいためっぽい。