- PR -

Eclipseと違うコード補完 (初心者

1
投稿者投稿内容
こだわり卵
会議室デビュー日: 2005/04/05
投稿数: 3
投稿日時: 2005-04-05 18:13
初歩的な質問で恐縮です。
EclipseでJavaに少し慣れたところで、VisualStudio.NET2003を始めました。
Eclipseだと、forやifといった条件がカッコつきで簡単に補完(Ctrl+Space)できるのですが、VisualStudioではクラス名やデータ型などの一覧は表示されはするものの、Eclipseのようにループなどの補完をしてくれません。
VisualStudioの仕様でしょうか、それとも、どこかの設定が必要なのでしょうか。
プログラミングはC++やJ#,C#などで簡単なものを作ってみましたが、すべて同じです。
プログラムそのものはコンソールアプリを実際にC言語で実行できましたが、いちいちforループなどを手打ちでやるのはツラいです。また多重ループなど込み入ってくると、当然、カッコの閉じ忘れなども出てくるだろうし。
アホみたいな質問で申し訳ありませんが、よろしくお願いします。
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2005-04-05 19:08
少なくとも、VB6には有りませんでした。
VB.netは触った経験が少ないのですが、
その感触ではできなかったと思います。

括弧を閉じてから、一行戻って書く癖があれば問題が無いと思いますが・・・?
_________________
ジョン吉
常連さん
会議室デビュー日: 2005/02/25
投稿数: 33
投稿日時: 2005-04-05 19:20
VB.NET の固有機能として endif や end select や next 等を補完してくれるみたいですね。
c#はその設定がないのでダメなんじゃないですか?

メニューの ツール⇒オプション で色々いじくってみてはいかがでしょう
こだわり卵
会議室デビュー日: 2005/04/05
投稿数: 3
投稿日時: 2005-04-06 19:18
るぱんさん、ジョン吉さん、ありがとうございます。
そうですかぁ、仕様のようですね。。
VBは確かに試してなかったです。これだけは使えるということで。

>c#はその設定がないのでダメなんじゃないですか?

オプションのテキストエディタのBasic>VB固有というところに、ENDコンストラクトの自動挿入 というのがあります。これかな。
C#やC/C++ などは 自動メンバ表示 とかパラメータヒントとかの項目はありますが。

>括弧を閉じてから、一行戻って書く癖があれば問題が無いと思いますが・・・?

そうですね。それが確実ですよね、手打ちの場合。

Perlなどはそれでやってて、それからEclipseを始めたらコードアシストがあって、IDEとはこんなに便利なものかと驚いた次第です。OSSでこれだけ出来るんだから、買ったまま放置してたVSならもっと凄いはずだと期待に胸をふくらましたんですが^^;
もちろん、これから使いこなしていくと、Eclipseよりも優れた点にもいろいろ気がつくと思います。

       貴重なご意見、ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-04-06 19:22
 私は鬱陶しかったけどなぁ。まぁ、どちらを先にやるか、の問題かもしれない。
 Borland C++ Builderにも、同様な機能があるんですよね。結局使わなかったけど。

 で、私はVB.NETのコード記述補助も鬱陶しいのですが(^-^;、例えば、for(と打って、補助させると

for (int i = 0; i < |; i++) {

}

みたいになりますよね(|の位置にカーソル)。これでEnterキーをクリックすると、フォーマットが崩れちゃうんですよね(^-^;。VB.NETの場合、行がステートメントとして意味を持っているから、余計に鬱陶しい。。。

 例えばif文の場合、

if (|) {

}

なのか、elseもあるのか、はたまたelseifがいくつか続くのか、そういうのも問題ですよね。


> また多重ループなど込み入ってくると、
> 当然、カッコの閉じ忘れなども出てくるだろうし。
カーソル位置のカッコに対応するカッコが強調表示されます。また、メソッドのチップヘルプも閉じますから、検出は可能です。
 が、そんな多重ループは設計し直す、が一番かと。

_________________
こだわり卵
会議室デビュー日: 2005/04/05
投稿数: 3
投稿日時: 2005-04-07 17:54
プログラミングも慣れてる人とそうでない人では要求することが違ってくるのかもしれませんね。

>カーソル位置のカッコに対応するカッコが強調表示されます。また、メソッドのチップヘルプも閉じますから、検出は可能です。

なるほどぉ。そのあたりはEclipseと一味違いますね。

しかし、どうなんでしょうね、ループ、条件分岐以外にも例えばmainメソッドとかが抜けてる場合、mainと入力するだけで補完候補にmain-methodがあり選択すると、

public static void main(String[] args) {

}

で一発。

sysの入力 > 補完一覧 > sysout選択 で

System.out.println();

と一発。

・・みたいなのが、Eclipseではとても助かるんですよ。

forの候補もどういったコンテクストかによって複数ズラズラ出てくるし。
Javaのソックリさんとも言われるC#(まだよく知りませんが)でも、これがあるといいんですが。。

>が、そんな多重ループは設計し直す、が一番かと。

多重ループ、ダメですか^^;
可読性が悪くなるのかもしれませんね。

しかし、IDEになれると、攻殻の義体化みたいな気分になるなぁ。

1

スキルアップ/キャリアアップ(JOB@IT)