Top > Programmingとか > VB / VB.NET > VB2005Expressβ

2005年06月13日

(5) ショートカットとアウトライン

コードエディタのコンテキストメニュー(右クリックで出てくる奴)に、[アウトライン]がありません。
ならば、と適当に行選択をしてCtrl+M,Ctrl+Hとしても折りたたまらさりません。

えー、VB2005Expressでは自力折りたたみができないのー?
それともショートカットが変更になっちゃったのかなぁ?

そいえばVB-Expではショートカットがあちこち変更になっているんでした。
「行削除」がShift+Ctrl+Lのみになったりとか(VS2003ではCtrl+Lも効いたんだけどなー)。

メニューから[ツール]-[ユーザー設定]で「ユーザー設定」ダイアログを表示させ、「コマンド」タブで確認したら、ちゃんと分類「編集」の中に存在。

あるよねぇ、変だなぁ、VB-Expではデフォルトではアウトライン機能を使えないよぅにしているのかなぁ、などと思いつつショートカットメニューに自力で追加。

追加してから気がついたんですけど、確かVS2003までは[コマンド]の編集機能でコンテキストメニューが表示されないため、編集ができなかったのでした。(私が知らないだけ?)
VB6にもVC++6にもコンテキストメニューの編集機能はあったので、なんと不便なことよのぉと思っていたんですが。
VS2005でめでたく復活。うれしー。

ってやっぱりCtrl+M,Ctrl+Hでいいんじゃん。「コマンド」タブの一覧に表示される「選択範囲の非表示」には「Ctrl+M,Ctrl+H」って併記されてるじゃん。

で、コマンド編集を終了して、コードエディタで適当に行選択して右クリック→[選択範囲の非表示]

ってグレーアウト?

コードエディタの選択状態をどぅ変えてやってみても、グレーアウトのままでどぅにもなりません。

…あー、なんだかβがゆえの未実装部分のよぅな気がしてきました。
だからコンテキストメニューそのものへの登録見合わせていたんではないでしょうか。

正式リリースではここがちゃんと使えて、コンテキストメニューにもデフォルトで登録される。

なんだかそんな気がしてきましたよ。
まぁここはしばらく待つことにしましょうか。



ちなみに、コードエディタを上下2分割した時にアウトラインが勝手にたたまらさる機能は相変わらずです。

[アウトラインの中止/自動アウトラインの開始]で自動アウトライン機能を中止にしてから分割しないと全部たたまらさっちゃうんですよね。

ってここもグレーアウト?

くそーこのへんは製品版に乞うご期待だぜっ。

2005年06月09日

(4) ホイールスクロール

テキストエディタ上部に表示されているクラス/メソッドのコンボボックスが、マウスでホイールスクロールすると、エディタの一部のように一緒にスクロールされてしまいます。

キーボードでスクロールさせた場合にはきちんと定位置に留まっているので、ホイールスクロールの時にフックするウィンドウが不適切なんではないかなーとは思ぅんですけど。

一度この状態になってしまうとスクロールバーも効かなくなる…てゅうより、スクロールバーがエディタウィンドウのサイズ変更のような振る舞いになってしまぅんですよね。
C#ももちろん、そいえばWord2003もこの状態になる…。



…はっ、っと気がついて、チューチューマウスの「みんなホイール」機能をスルーさせるよぅにしてみた。…直った。
ここかぁ!今まで気がつかなかったよー(T-T)

(3) XMLドキュメントコメント

「 '''<summary>~</summary>」で入れたXMLドキュメントコメントを折りたたむと、タグの中の本文が連結されて表示されます。

たとえば、

''' <summary>
''' abc
''' def
''' </summary><

とかやると、折りたたんだ時には

[abc def]

って感じで。

C#2005β2で同様に折りたたむと、コメントの1行目(つまり[///<summary> ...]って感じ)が表示され、何をコメントしているかわかりません。

勝った。

いゃいゃ勝ち負けじゃないから。
つかβ取れるまでにC#もたぶん直っているんじゃないかなーと推測してみたり。
なんぼなんでも[///<summary> ...]じゃ表示の意味がないんではないかと。
…あるのか?

なにがなんでもコメント領域の1行目、って動作は、VB.NET2003でのがやはりそんな感じで。
コメント領域の上下を「*******」でくくる癖のある私は、しかたがないので

'*** コメントでーす ***************
' コメントでーす
'********************************

なんてやってお茶を濁していたんですが。
今回はすっきり書けるよぅになってうれしー   あ。

「'」で書いたコメント群を折りたたむと、[...]と表示されてしまぅ。

もぅ折りたたみたくなるよぅなコメントはすべて「'''」で書けってことなんでしょうか。
あとでドキュメント生成に流用したいので、ドキュメント用コメントは「'''」、コード内コメントは「'」で使い分けよぅと思っていたもくろみが一気にアウト。

ここはなんとかしてほしいなー。
でも両方とも内容が出てきちゃうと、折りたたんでいる時にただのコメントなのかXMLドキュメントコメントかの見分けがつかないしなー。
色を変えるとかなんとかそのへんの対応でどぅにかならないもんなんかしら。

(2) Unsigned型指定子

UIntegerをPublicで宣言すると、「メンバ'(変数名)'の型はCLSに準拠していません。」と警告がでます。
まぁ実際にはビルドは通るんで実害はないっちゃないんですが。。

気になるのは、

なんでVBでだけ警告が出るんだ。
C#では出てないぞ。

ってことなのね。

以前から出してないから、といぅんなら、当時未対応だったVB.NETを置き去りにした仕様だったわけですし(実際C#製DLLを参照した際にUIntegerとか使われてて、System.UInt32で対応してみたりしていましたし)、VBが2005で対応するよぅになった現状(β)、いったいUnsign型で困る言語って何なんでしょ?J#?

どぅもこのへん、今まで他言語で警告出さなかったいきさつと、今回VBでのみ警告を出すよぅになったいきさつがわかりません。

VS2005においてVBは、C#よりもビギナー向け、といぅ位置付けであるよぅに思っています。
ビギナー向けの開発環境で、対応する必要もない部分に警告を出してしまうと、ビギナーは混乱すると思ぅんですけどねぇ。

かといって、VB2005Expressにはどぅも警告として出力する項目の設定機能が見当たりません。ので、うざいからってビルドに関係ない部分の警告を出力しない状態にカスタマイズできるわけでもなさそぅです。

困らないのかもしれないけど、雰囲気的にいらいらしますね。

2005年06月06日

(1) ソリューションがない

いゃ、ソリューションファイル(.sln)はあるんですよ。
でも.slnをロードしても.vbprojをロードしても、ソリューションエクスプローラには直接プロジェクトが表示されてしまって、その親のソリューションが表示されないんです。
当然プロジェクトの追加もできなくて。

てことはDLL作ってもそっちまで通しでデバッグできないってことですかい?
セットアッププロジェクトを作れないってことですかい?
C#2005Expressにはソリューションノードが表示されるんですが、もぅそのへんのことをしよぅって奴はみんなC#へ行けってことですかい?

とかあわてたんですが、なんのことはない、[オプション]-[プロジェクトおよびソリューション]-[全般]に、「常にソリューションを表示」ってチェックボックスがあって、インストール時デフォルトではOFFになっていただけなのでした。

こいつにチェックを入れると、ちゃんとソリューションのノードが表示されましたよ。
あーびっくり。

さて、これでセットアッププロジェクトも作り込める…と思ったら、プロジェクトテンプレートに「セットアッププロジェクト」がありません。

ClickOnceでしかセットアップができないってことですかい?

えーと、なんだかいろいろ勘違いをしているよぅな気がします。
全然プログラミングそのものの中身にたどり着けないなぁ。
細かいところを気にしすぎているのかなぁ。