RubyレシピブックのレシピをC#で実装する

書き捨てプログラムを書くのにスクリプトを使用していたが、
C#3.0では省略記法が増えたので同じように書けるのではないか確認してみた。<ルール>
おまじない部分は無視。下の例だとメソッド内だけで判断。(IDEが勝手に書くので)
エラー処理なし。(書き捨てだし。)
可読性は気にしない。(書きやすさ重視)

SQL Server 2005 Compact Editionのインストール

日本語版をインストールしても全然きちんと動作しないのでおかしいな〜と思ったら英語版を先にインストールしなくてはならないことがわかった。


Visual Studio用のツールも入れれば普通のDBと同じように使用できるので、これからはメインに使っていこうと思う。
複数で同時に使わないアプリならばこれで十分ですね。


でも、この問題みんなはまると思うのに情報載ってないのって誰も使ってないのかなぁ。


(ここ見て気づきました。)
Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center

Visual Studioで作業中のソースの差分を見る方法 その2

Visual Studioで作業中にすぐにSubversionで管理しているソースとの差分を見たいときがあります。
(Visual Studioエクスプローラ(TortoiseSVN)の行き来や、いちいちファイルを選択して差分を見る手間を省きたい)


昨日と同じですが、もっと簡単な方法がありました。
「ツール」メニューの「外部ツール」を使用する方法です。


外部ツールの設定は以下の通り。

タイトル:TortoiseSVN 差分(&Y)
コマンド:C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe
引数:/command:diff /path:"$(ItemPath)" /notempfile /closeonend

作業中のファイルを指定してTortoiseSVNのDiffコマンド(Cドライブの場合)を起動しています。


これをキーボードのショートカットに割り付ければ、一発で呼べます。
(消すときはESCキーですぐ消せます。)
また、アクセラレータ キーも設定できます。
(今回の場合はAlt + T, Yで呼べます)


こちらの方がExpress Editionでも使えるので良いですね。

Visual Studioで作業中のソースの差分を見るマクロ

Visual Studioで作業中にすぐにSubversionで管理しているソースとの差分を見たいときがあります。
(Visual Studioエクスプローラ(TortoiseSVN)の行き来や、いちいちファイルを選択して差分を見る手間を省きたい)


マクロは以下の通り。

  1. 現在作業中のファイルのフルパスを取得。 DTE.ActiveDocument.FullName
  2. TortoiseSVNの差分コマンドを起動する。 System.Diagnostics.Process.Start()

これをキーボードのショートカットに割り付ければ、一発で呼べます。
(消すときはESCキーですぐ消せます。)

Visual Studioへの統合

ベースはこれ。


Aaron Marten's WebLog
http://blogs.msdn.com/aaronmar/archive/2006/02/16/533273.aspx


このページがなくなっても困らないように一部抜粋と追加で設定した部分は以下の通り。

後でまとめたい。


Visual Studio SDKダウンロードする
インストールする
Visual Studioを起動する
C:\Program Files\Visual Studio 2005 SDK\2006.11\VisualStudioIntegration\Samples\IronPythonIntegration\IronPython.sln
を開く
デバッグなしで実行
新規プロジェクト作成して実行


便利な技

[標準ライブラリを使用する]
各ファイルの頭に以下を追加

import sys
sys.path.append(r'C:\Python25\Lib')
sys.setdefaultencoding('cp932')

[日本語を使う]
ファイル→保存オプションの詳細設定で保存形式をBOM付きUTF-8にする


[Ironpython1.0.1を使う]
C:\Program Files\Visual Studio 2005 SDK\2006.11\VisualStudioIntegration\Common\Assemblies
のIronMath.dll、IronPython.dllを1.0.1のものに置き換える
そうすると
プロジェクトをビルドした際にできるbinディレクトリにコピーされるdllが1.0.1のものになる