These are chat archives for tanakh/VisualStudioHaskell

30th
Apr 2015
Yukitoshi Suzuki
@yukitos
Apr 30 2015 08:46
@quartorz さん
すごいですね!試させていただきます!
quartorz
@quartorz
Apr 30 2015 10:36

ありがとうございます。
自分のメインPCでしか試せていないので何か問題があればぜひ指摘などしていただきたいです。

書き忘れてたのですが、色々雑ながら一応Qiitaに分かったことなどをまとめた記事があるのでそちらのURLを載せておきます。
http://qiita.com/quartorz/items/b4ea1ba03ad9356686b1

Yukitoshi Suzuki
@yukitos
Apr 30 2015 12:40
Microsoft.VisualStudio.ReplWindow.dllがソリューションフォルダに無いのでビルドエラーになったのですが、PythonTools for VisualStudioをインストールしたらビルド出来るようになりました。
あと「VisualStudioHaskell」プロジェクトの「デバッグ」設定で、「外部プログラムの開始」にdevenv.exeへのパス(C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe)、「コマンドライン引数」に/rootsuffix Expとすることで試験用インスタンス上で拡張機能をデバッグできるようになるというTipsもあると助かりますー
Yukitoshi Suzuki
@yukitos
Apr 30 2015 12:45
しかし逆にPTVSをインストールしたがために、GetService(typeof(IUIThread))がPTVS用のアセンブリにあるIUIThreadでGetServiceしようとして実行時エラーが起こるようになってしまいました。
なのでIUIThreadを別の名前空間になるようにしてエラーを回避しました(namespace Microsoft.VisualStudioTools.Haskell)
ひょっとするとSharedProject以下で定義されているインターフェイスはすべてPTVSと競合してGetServiceでエラーになるような気もします。
Yukitoshi Suzuki
@yukitos
Apr 30 2015 13:38
ProjectNode.CreatePropertiesObjectをoverrideしないとCommonProjectNodePropertiesが使われることになりますが、このままだとOutputTypeのgetで例外が出たり、OutputTypeExプロパティが定義されてなかったりでVS2015のあちこちでエラーが出る模様です。
のでこのあたりを直せるといいなーという感じで作業中です。
quartorz
@quartorz
Apr 30 2015 13:56
ありがとうございます。
デバッグの方法についてはQiitaの方には追記しておきました。
Microsoft.VisualStudio.ReplWindow.dllですが、Python ToolsをビルドしたものからこのDLLだけ拾ってきてソリューションに追加してあったのですがその後不要だと思ってquartorz/VisualStudioHaskell@0bf43d0で消してしまっていました。
このDLLの参照を追加すれば競合しないと思うので、とりあえずこの変更だけコミットしておきました。
2013でも同様にOutputTypegetで例外が出るようですが、プロジェクトについてはまだ全く触っていないので自分もこれから見てみたいと思います。
Yukitoshi Suzuki
@yukitos
Apr 30 2015 13:58
助かりますー
Yukitoshi Suzuki
@yukitos
Apr 30 2015 14:08
SharedProject の中でClipboardServiceの登録が前提になっているコードがあったので登録する必要があるみたいです
Yukitoshi Suzuki
@yukitos
Apr 30 2015 14:19
プロジェクト上で右クリックしたらメニューが出るようになったのでオプションページを作れるといいかなあという状態になりました
quartorz
@quartorz
Apr 30 2015 14:33
ありがとうございます。ではそちらの方を調べてみます。
quartorz
@quartorz
Apr 30 2015 15:41
とりあえずプロパティページを作って表示するのはできたので、今から詳細をまとめます。
Yukitoshi Suzuki
@yukitos
Apr 30 2015 15:43
:+1:
CommonPropertyPageをWPF Controlにしようかなとか思いついてCommonWpfPropertyPageとか作り始めて沼に嵌まってました :)
quartorz
@quartorz
Apr 30 2015 16:01
quartorz/VisualStudioHaskell@94e38fd
CommonPropertyPageを継承したクラス(TestPropertyPage)のControlプロパティで適当なコントロール(TestPropertyControl)を返すようにしておいて、VisualHaskellPackageProvideObject属性を付けてProjectNodeGetConfigurationIndependentPropertyPagesメソッドでプロパティページのGUIDを返せば出来るようです。
Yukitoshi Suzuki
@yukitos
Apr 30 2015 16:04
なるほど了解です
続きは明日頑張ります!ではお先ですー
quartorz
@quartorz
Apr 30 2015 16:07
お疲れ様です