Visual Studio Community 2013始めました。

Visual Studio Community 2013が出ましたね。Expressでは使えなかった拡張が使えるようになりました。これのためにProの購入を考えては踏み止まって、ということを繰り返していたところなのでやっと来たかという感じ。

真っ先に入れたのがVsVim。お仕事ではPHPStorm + ideavimなので、この環境に慣れ切った指で素のVSでC#を書くのはちょっと腰が重かったのです。

Ctrl+n、Ctrl+pを上下に割り当てて、インテリセンスの選択もカーソルを使わないようにしているのですが、Ctrlを押しているとインテリセンスが半透明になってしまうのが邪魔になっていて回避策を模索中。この機能が付いた当時はとても嬉しかったんですけどね。

あとはPython Tools for Visual Studio。まだしっかりとは試せていないのですが、ClipboardExtenderの拡張スクリプト(IronPython)を書くのが捗りそうです。

MSさん超GJです。

IronPythonで配列を引数に取るメソッドを使う

リストを渡してもエラーになる。タプルを渡すと配列として認識される。そんなときは組み込みのtuple関数を使うといい。

.NETのコレクションでも同じ方法が使える

IronPythonでインターフェースのイベントを実装する

Pythonにはイベントを定義する構文がないから困った。

そんなときはadd_イベント名(self, handler)、remove_イベント名(self, handler) を実装する。

例えば、INotifyPropertyChangedインターフェースのPropertyChangedイベントだとこう。

 

こんな感じでイベントハンドラの管理も自分でやる。

IronPythonでメソッドをオーバーライドして基底クラスに投げる。

IronPythonに限ったことじゃないけど、IronPythonでWinforms触ってたら避けられない問題なので。組込み関数のsuperを使う。

 

Form.WndProc(self, m)

でも動くけど推奨されていないみたい。

IronPythonで参照渡しが必要なメソッドを利用する