Visual Studio 2010 Beta 03

ちょこまか使ってみて 2010 の全体像は簡単に書き出すと

ネイビーになった外観のおかげで現在ドコがアクティブかが解りやすくなった。
でもタブ切り替えで一端ネイビーにフラッシュされてチラツキ感を感じる。
ツールバーボタン無効状態がもの凄く解りにくいのは勘弁してくれ。

試しにクラシック表示にすると哀れ、MS Pゴシックになり全部の文字が太字に。
まあいいや、Vista でクラシック表示なんか使う奴は何も知らないバカだけだし。
って Windows XP では使い物にならないということか…

WPF デザイナはどうなったか、SeeMe のソリューションを開いてみる。

デザイナ部は特に代わり映えシネェ…

ツールボックスからの貼り付けが使い物にならないのも変わっていない。
てか Width, Height の値を勝手に付加するのはやめてくれないか?
これじゃコンテンツでコンテナのサイズを決めるにした意味が無いやん。

よく見るとプロパティウインドウは結構進化している。

2010_prop

ブラシの色がアイコンで表示されて解りやすくなった。
プロパティ文字列にある小さなアイコンをクリックすると型毎にサブウインドウが出る。
他リセット等ができたりデータバインディングを指定できたり高機能になった。
Visual Studio 2008 は文字列のみだったのでこれはなかなか。

新しいコードエディタは選択範囲が異様に解りやすい。
でもレスポンスが少し遅い、ワンテンポ遅れる感じなのは仮想マシンの宿命か。
ところでコード補完で Enter を押しても一覧から強制適用されなくなった。

2010_code

作り込みが甘いだけなのか、あの仕様の評判が悪かったのか。

イベントハンドラのコード補完で += 直後に Tab キーを押した場合にも自動整形。
2008 は +=new になっていたのが += new と半角スペースが入るようにとか。
カンマ区切りをスペース無しで書いてもセミコロンで自動整形とかは健在。
空行にて BackSpace を押すと行頭まで削除するようになった、微妙に便利かも。
アウトラインの + マークにマウスを持っているとアウトライン部に色が付くように。

うーん、やっぱり 2008 からあまり変化を感じない、少し便利になっただけ。
WPF 化したのは単に WPF で以前のウインドウを再現できると示しただけかな?
それでは便利機能が増えたことよりレスポンスが悪くなったことのほうが気に…

Visual Studio 2010 Beta 02

Visual Studio 2010 はたしかに WPF で作り替えされているようだ。
これやれば一発で解る

ぱぇぽぃ2 ? Blog Archive ? Spy++ で WPF

とりあえず VC++ がどうなったか、Win32 プロジェクトを新規作成してみる。
新規プロジェクトに Win64 は無いか、なんだかなぁ。

stdafx.h や生成されるコードは 2008 と何も変わらない。
だけど targetver.h が異様にシンプルに、ベータだからだと思うけど。

targetver

0x601 じゃ Windows 7 専用を作ってしまう可能性が、そりゃマズイだろう。

ソリューション エクスプローラーに External Dependencies なんつーものが。
開くと windows.h 等で #include されているヘッダーがズラリ。
標準ヘッダーを参照したい時に便利、初心者が見たら数にビビルだろうな。

sol_exp

IntelliSense なんだが…

messagebox

MessageBox とかのマクロは無くなっちゃったの?
ちなみに下は Visual Studio 2008

messagebox2008

でも MessageBox と打ち込めば IntelliSense は効く。

intelli_sense

当然 TCHAR や _tcscpy_s なんかも補完はしてくれない、まだ作りが甘いようだ。
プロジェクトのプロパティウインドウは英語のまま、あまり重要視されていない感じ。

というか WPF 化されたというのに 2008 を再現することばかり行われているような。
リソースエディタも特に変化無し、ここだけでも進化してほしかったのだが。

相変わらず C++/CLI では WPF は使えない。
WindowsForm なんていいかげんにサポートするのを終わってくれよ、MFC も。

どうでもいいが Ctrl+I でのインクリメンタルサーチ時にマウスカーソルがかっちょいい。
ここだけは WPF 化の恩恵…関係無いか。

やはり VC++ については 2008 で十分というかもう進化することは特に無いのだろう。

Visual Studio 2010 Beta 01

ところで何故 Visual Studio 2010 ベータをインストールかというと
私は WPF 製アプリを自分で作った SeeMe 以外に見たことがないからである。

SeeMe はエフェクト等を完全無視している。
しかしやっと Windows にやってきたレイアウタによるコンテンツ優先の配置。
ListView と ObservableCollection によるバインディング。
を行っているが他のアプリはどうなんだろうと。
(Visual Studio 2010 の UI は WPF)

とにかく昨日のリンク先から iso をダウンロード。

VS2010Beta1JPN_VSTS_2PartsTotal.part1.exe
VS2010Beta1JPN_VSTS_2PartsTotal.part2.rar

の2つをダウンロードして exe を実行。
てか rar で圧縮分割なの?独占禁止法対策なのかな。

WinRAR は何も言わないが Vista は正しくインストールされなかった可能性がどうたらと。
もちろん何も問題無い iso ができあがった、Vista さん、このメッセージおかしいだろ…

DVD-R に焼いて普通にインストール。

vs2010_1

まあ普通だ、次へをクリック。

vs2010_2

何かイッパイインストールされるけど毎度のことだ、次へ。

vs2010_3

当然フルサポートしてくれよ、ということで両方にチェックして開始。
この後インストールさせるものがズラッと表示されるけどそれはお楽しみで。

.NET Framework 4 Beta をインストールした後に一端再起動を促される。
んで一時間以上掛かってインストール完了、相変わらず長すぎる…

とにかく起動。
やはり初回起動は恐ろしく遅い、Vista なので後で勝手に早くなるからいいけど。

スタートページで目に付くのはアイコンがマウスオーバーで大きくなることくらい。
もうちょっとエフェクトを付けてもいいんでないの?という感じ。
ニュースの取得を勝手に行わず選択できるようになったのは嬉しいかな。

んで新規プロジェクトを作って最初に気になること。
WPF なので標準フォントの MS ゴシックが太字になる…

DATA.Blog – WPFと日本語フォント

ClearType フォントに変更する以外に手は無いみたい。
HGゴシックM というのが ClearType なのでいいかも、9pt だとイマイチだから 10pt に。
検索したら MS Office 付属フォントらしい、MS Office をインストールしていないんだが…
Excel Viewer だろうか?一太郎だろうか?それとも Visual Studio かな?

でも私は VL ゴシック(Ubuntu Fedora のデフォルトフォント)をあえて使う。
9pt で下画像のようになりますので参考に。

vl_font

そういえば Visual Studio 2008 はどうなった?

vs2010_4

Visual Studio が3つになった…
2008 はレイアウトがリセットされるけど普通に使えるみたい。
画像は(1680×1050)なので注意。

vs2010_2008

細かい使い勝手は次回。

MonoDevelop と Visual Studio

MonoDevelop Python ? dronelabs

あれ、MonoDevelop で Python 開発ができるの?
IronPython とは書いていないどころか PyGtk や Django がテンプレートにある。
Gtk# 製 IDE 上で PyGtk の開発かよ、何か笑える。

生き残るために必死なのだろうか?迷走したかつてのボーリャンドのように。
というのは勝手な妄想だが、まあ気が向いたら。
実際 Ubuntu というか Linux ではもう C# をやるつもりは無い。

それより次期 Visual Studio のほうが気になる。

Visual Studio Editor Blog : Visual Studio 2010 UI Unveiled

こちらの画像を見ると WPF デザイナ表示時にコードが表示できるようになったらしい。
それは嬉しいんだけどエディタ部が狭くなってしまう…使ってみなきゃなんともいえん。
他は WPF 化したわりに変化が見た目だけのような、まだ使っていないけど。

Microsoft Visual Studio 2010 – 将来のバージョン

誰でも使えるようだしせっかくなので beta を落としてみます。
インストールしたら Visual Studio 2008 は残るのだろうか?影響は???
まあそろそろ Vista 自体の再インストールで HDD を綺麗にしたいしイイかなと。

.NET アプリでバージョン情報の統一

SeeMe for Windows のバージョン情報が滅茶苦茶なのでなんとかせねば。

まず Explorer から本体のプロパティ。

explorer_prop

これは Visual Studio でプロジェクトのプロパティから「アセンブリ情報(I)…」ボタンを押して

assy_prop

で変更するんだがよく忘れるんだコレが。
最近は公開直後に即バージョンをインクリメントという対策をしているんだけど…
Visual Studio というより Windows が久々なので忘れていたわい。

ぱぇぽぃ2 ? Blog Archive ? SeeMe for Windows v4.0.1

のとおりダイアログのバージョンを書き換えるのを忘れていたし。
というか毎回ダイアログ文字列を変更ではおかしいので本体からバージョンを取得したい。

デルヒャァで作っていた頃はやっていたんですけどね。

procedure TAboutDlg1.FormShow(Sender: TObject);
var
  BuffSize, Ignore: Cardinal;
  P: Pointer;
  FileDescription: PChar;
begin
  BuffSize := GetFileVersionInfoSize(PChar(Application.ExeName), Ignore);
  P := AllocMem(BuffSize);
  GetFileVersionInfo(PChar(Application.ExeName), Ignore, BuffSize, P);

  VerQueryValue(P, PChar('\StringFileInfo\041103A4\FileVersion'),
                Pointer(FileDescription), Ignore);
  Label1.Caption := 'Y901 v' + FileDescription;

  FreeMem(P);
end;

こんな感じで、我ながら Object Pascal が懐かしい…
これを .NET Framework で同じようにするには

自分自身のバージョン情報を取得する: .NET Tips: C#, VB.NET, Visual Studio

やはり Windows で C# なら日本語でアッサリ見つかるなぁ…
日本語で GTK+ だと UNIX 臭さ全開かサル以前かの両極端しか無いのだが。

var version = System.Diagnostics.FileVersionInfo.GetVersionInfo(
    System.Reflection.Assembly.GetExecutingAssembly().Location);
v[0].Inlines.Add(new Bold(new Run("SeeMe for Windows " + version.FileVersion + "\n")));

と前回のコードを書き換えればオケのようで。
これであらかじめ本体のバージョン情報を更新しておけば追従してくれる。

cpanel_prop

インストーラのバージョンと本体のバージョンが合わない。
そう思って Version プロパティを弄くったら複数インストール可能になって困ったし。
それとアップデート毎に前バージョンの削除をさせるのも考え物だ。
実は前バージョンを削除してインストールする方法が解らなかっただけなんだが。

セットアッププロジェクトにて前のバージョンを削除してから新バージョンをインストールする(VisualStudio, Setup, msi) – いろいろ備忘録日記

うっ!それだけだったのかというか Version プロパティってそういうことか。
リンク先が無くなってしまったら困るので簡易で覚え書き。

セットアッププロジェクトのプロパティ
DetectNewerInstalledVersion = true
RemovePreviousVersion = true
Version をインクリメントすると ProductCode 変更ダイアログが出るので「はい」

を試してみたらアッサリと、プロジェクトのプロパティだけでイケたのね。
これでインストーラのバージョンと実行ファイルのバージョンを合わせることができた。

それと ToolBarTray を IsLocked=”True” にして動くように見えていたのをなんとかして。
ToolBar OverflowMode=”Never” にしてもオーバーフローボタンは消せないのね…
正直 WPF を使うには Visual Studio でないと厳しいと感じてきた。
そうそう、インストーラの名前に beta の意味な b が入っているのを消さなきゃ。

ということで修正のみだけど SeeMe for Windows v4.0.2 公開。

おまけ

2009-08-19 – 当面C#と.NETな記録 Visual Studio で一行だけコピーや削除するときには行を選択しなくてもよかった件について

マジだぁ!
トリプルクリックで一行選択してくれないけど、秀丸も EmEditor も Gedit さえもできるのに。
Visual Studio はトリプルクリックする必要すら無かった。

てゆーか空白やインデントがおかしいコードも貼り付けで勝手に整形してくれるぞ!

url.Click +=new RoutedEventHandler(url_Click);
// をコピーして貼り付けると同じソースコード中でも下のように
url.Click += new RoutedEventHandler(url_Click);

へたに手書きするよりコピペのほうが綺麗なコードになるとはね。