人に聞けない痔の悩み、これでスッキリ >>

Eclipse 3.5を使っています。

エディタで、次のエラー箇所にジャンプするショートカットキーを探しています。
調べてみたところ、どうやら以前はCtrl + .がそうだったらしいのですが、現在は別の動作に割り当てられているようです。

今のバージョンでは、そのようなショートカットキーはないのか、それとも別のキーに割り当てられているのか(もしくは、自分で割り当てられるのか)を教えていただけると幸いです。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

「Ctrl + .」は「次の注釈」コマンドのショートカットです。


メニューバーにある「ナビゲート」をクリックすると
「次の注釈」と「前の注釈」というコマンドがあると思います。

これは「割り当てた注釈」に飛ぶことができるコマンドですが
この「割り当て」は自由に変更することができます。
「割り当て」は、デフォルトでは「エラー」と「警告」になっていますので
何もしていないなら、現在行から次に現れる「エラー箇所」または「警告箇所」に飛ぶはずです。
あるいはなんらかの操作をしていたときに誤って「割り当て」を変えてしまったのだと思います。

「割り当て」の変更方法ですが
「次の注釈」のアイコンをよく見ると
ツールバーにも同じアイコンが存在していることがわかると思います。
#ツールバーを変更していない場合に限る。

ツールバー上のアイコンの横にある「▼」をクリックすると
割り当てることのできる注釈の一覧が表示されるので
「Ctrl + .」時にエラー箇所へ飛ぶようにしたいのであれば
「エラー」のみにチェックすれば良いです。


余談ですが私の「オススメ割り当て」は「出現箇所」です。
これは、変数などにカーソルを置いて「Ctrl + .」とすると
その変数が次に出現する箇所へ飛ぶことができます。
定義へ飛ぶことのできる「F3」とは逆の使い方ができるわけです。
変数がどこでどのような順に使用されていくか追うときに非常に便利なので重宝します。

私の場合、エラー箇所へ飛びたいときは
「マーカー」ビューに出てるエラー行をダブルクリックしてやるので
「Ctrl + .」でエラーへ飛ぶことはしないですねぇ。
    • good
    • 1
この回答へのお礼

なるほど!
ツールバーから変更できるのですね!そこが分かりませんでした。
どうもありがとうございます。

> 余談ですが私の「オススメ割り当て」は「出現箇所」です。

Eclipse 3.5のデフォルトがそうなっていました。
これはこれで便利なのですが、私はコンパイルエラー駆動開発的な書き方をしているので、次のエラーに飛ぶこともできればより楽ではないかと思ったのです。

しかし、この2つを別々のキーに割り当てることができないとなると、少々困ります。
エラー箇所へのジャンプは、Markersから行った方がよいのかもしれません。

お礼日時:2010/01/10 11:48

こんばんは、osu_neko09さん



>3.2を使っていますが、
>そのようなショートカットがありませんでした。
>3.2では、ショートカット自体は、
>「ウインドウ」=「設定」=「一般」=「キー」に一覧がありますし、変更も出来ます

3.0でも、Ctrl+.で、出来るようですし、
私の3.5では、エラージャンプは、同じキーが
割り当てれています。

3.5は、普通の、エクリプスとは、違うのかな??

http://mergedoc.sourceforge.jp/

3.5 all in oneを落としたのですが。

図の赤い所をCtrl+.で、ジャンプします
この事ですよね。
「Eclipseで次のエラー箇所にジャンプ」の回答画像3
    • good
    • 0

3.2を使っていますが、そのようなショートカットがありませんでした。


3.2では、ショートカット自体は、「ウインドウ」=「設定」=「一般」=「キー」に一覧がありますし、変更も出来ます。

3.5ではどうなっているのでしょう?
    • good
    • 0
この回答へのお礼

そうですよね、私もそこから変更を試みたのですが、見つけることができませんでした。

お礼日時:2010/01/10 11:41

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QIOException ってどういうときに起こるのでしょうか?

IOException ってどういうときに起こるのでしょうか?

http://www.atmarkit.co.jp/fjava/rensai2/javaent12/javaent12.html
を見て勉強しています。

  catch ( IOException e) {
    System.out.println( "キーボードが故障しているのかもしれません" );
  }

と書いてあります。
ハード(キーボード)が故障しているのを Java のプログラムのレベル(ソフトウェア)で感知できるというのがよくわかりません。「

NumberFormatException の方はわかるのですが・・・

Aベストアンサー

現実的には、キーボードからの入力でIOExceptionが発生することは、
ほとんどあり得ないと思います。
そもそも、キーボードが故障していたとしても、
IOExceptionは投げられないでしょう。
「キーボードが故障しているのかもしれません」というのは、
その記事の著者が冗談で書いたのだと思います。

ではなぜ、try-catchを書かなくてはいけないのか?
InputStreamやBufferedReaderは、
データ入力を抽象化したものだからです。
実際の入力元はキーボードだったり、ファイルだったり、
ネットワーク接続だったりするわけですけど、
InputStreamは、その入力元の情報を持っていないので、
データを読み取る際は常に
IOExceptionをキャッチするコードを書かなくてはいけません。
たとえ、絶対にIOエラーが発生しないストリームだとしても。

さらに付け加えるなら、
そもそも「標準入力=キーボード」であるとは限りません。
(一般的にはキーボードであることが多いですが。)
Javaでは、
System.setIn(InputStream)
を呼び出して、標準入力を変えてしまうことができますし、
標準入力を指定してプログラムを実行することができるOSもあります。

追伸1:
例外をキャッチしたときは、
スタックトレースをプリントすることをおすすめします。
catch (IOException e) {
e.printStackTrace();
}

追伸2:
そのプログラムでIOExceptionを発生させる最も簡単な方法は、
readLine()を呼び出す前に
標準入力(System.in)を閉じてしまうことです。
System.in.close();

現実的には、キーボードからの入力でIOExceptionが発生することは、
ほとんどあり得ないと思います。
そもそも、キーボードが故障していたとしても、
IOExceptionは投げられないでしょう。
「キーボードが故障しているのかもしれません」というのは、
その記事の著者が冗談で書いたのだと思います。

ではなぜ、try-catchを書かなくてはいけないのか?
InputStreamやBufferedReaderは、
データ入力を抽象化したものだからです。
実際の入力元はキーボードだったり、ファイルだったり、
ネットワーク接...続きを読む

QEclipseで、プロジェクト名のところに赤いバッテンのエラーマークが

Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークがついていますが、どのソースファイルにも赤いエラーマークは無く、なぜエラーになっているのか分かりません。

どこでエラーが出ているのか調べる方法はあるでしょうか?

Aベストアンサー

ウインドウ → ビューの表示 → 問題
をクリックすれば問題のある箇所が表示されるはずです

QEclipseでショートカットキーをカスタマイズする方法

Eclipseを使っていますが、JAVAアプリの実行(Alt+Shift+X、J)などのショートカットキーが面倒です。どこかでショートカットキーのカスタマイズができるらしいという情報を聞いたのですが、肝心の内容はいくら検索しても見つかりませんでした。どのようにすればショートカットキーをカスタマイズできますか?

Aベストアンサー

お使いのEclipseのバージョンがわかりませんが…。

↓Eclipse3.1.1です。参考になれば。

[ウィンドウ]-[設定]
[一般]-[キー]
[表示]タブで選んで[編集]ボタンでカスタマイズできませんか?

ヘルプは読みましたか?
ヘルプを開いて「キー」で検索したら↓が出てきました。
キー・バインディングの変更
キーボードの機能は、Eclipse で広範囲にわたってカスタマイズできます。

「ウィンドウ」>「設定」>「一般」>「キー」を選択して、「キー」設定ページを開いてください。この設定ページで、Eclipse の多くのコマンドにキー・シーケンスを割り当てることができます。

QEclipse「リフレッシュ」と「クリーン」の違い

Eclipseでプロジェクト「リフレッシュ」と「クリーン」がありますが、どう違うのでしょうか?

■質問背景
・Androidでエミュレータ内容が切り替わらないときがあるのですが、キャッシュか何か関係あるのかな、と思い質問しました

Aベストアンサー

Androidエミュレータはわかりません。
Eclipseでは、下記のことを指しています。
リフレッシュ→OSのファイルシステムと、Eclipseのワークスペースのファイル構造を同期すること。
クリーン→クリーンは、クリーンビルドのことでjavaのclassファイル等の成果物を削除し、コンパイルし直すこと。

Qinterface,extend,implementのちがい

お世話になります、

Javaを勉強しているのですが、
interface,extend,implementの使い分けがわかりません。

私の解釈としては、
(1)interfaceは、グローバル変数の定義、グローバルメソッドの定義(実装はしない)。

(2)extendは、extendクラスを親クラスとして親クラスの機能を使用できる。

(3)implementは…,implementもextendと同じような意味だと解釈しているんですが、違う点は、implementで定義してあるメソッドは、使用しなくても、実装しなければならないという点でしょうか?

とにかくこの3つのを使い分けるコツとかあれば教えてください。
よろしくお願いします。

Aベストアンサー

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば、getStringLength()メソッドなどが
あったほうが良いでしょうか。
このgetStringLength()メソッドは、2バイト文字も1バイト文字も「1文字」
と数えてくれると言う点で、まさに、日本語クラス用のメソッドだと言えるでしょう。

例えば、Java的に記述すると、、、
class Japanese {
public int getStringLength() {
  ・・・
return strlength;
 }
 ・・・
}

class TextField {
・・・
}

class JTextField extends TextField, extends Japanese {
・・・・
}

C++ではそのように実装するでしょう。
しかし、Javaにはこのような高度な機能はありません。

そこで、生まれた苦肉の策が、「interfaceとimplements」です。

interface Japanese {
public int getStringLength(); // interfaceは実装を含まない!
                 // すなわち「実装の継承」ができるわけではない。
}

class TextField {
・・・
}

class JTextField extends TextField implements Japanese {
・・・・
public int getStringLength() {
  ・・・
return strlength; //implementsの実装を「各クラスで」実装してやる必要がある。
 }
}


結局のところ、Javaでは、複数のクラスを親クラスには持ち得ないため、継承できなかったクラスは「各クラスで実装してやる必要性」があるのです。


ではどのように使うのが効果的か?

なまえのままです。「代表的なインターフェイス」にたいしてinterfaceを使うのが良いと思います。

例えば、プレイヤー系であれば、ビデオ・コンポ・ウォークマン・などにかかわらず、
interface controlpanel {
public play();
public stop();
public next();
public back();
}
というような基本的インターフェイスを「持っているべき」です。

こうすることで、それぞれのクラス宣言の際に、これらの「インターフェイスを持っているべきであり、実装されるべきである」ということを「強く暗示」することができます。
class videoplayer extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

こうすることで、同様のクラスを作成するユーザーは、
「プレイヤー系は、4つ操作が出来るコントロールパネルをインターフェイスとして持つべきなのだな!?」という暗示を受け取り、自分のクラスでもそれを模倣するでしょう。

class mp3player extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

また、これらのクラスを使用するユーザーも、「implements controlpanel」という
表記を見て、「4つの基本操作は押さえられているのだな!」という基本中の基本動作を抑えることが出来ます。

まとめると、クラスに「こういう特徴もたしてください!」「こういう特徴持ってますよ!」という一種の暗示的警告や方向性を与えることができるわけですね。

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば...続きを読む

QSELECTで1件のみ取得するには?

こんにちわ。
いまORACLE9iを使用している者です。

ACCESSでは
SELECT TOP 1 項目名 FROM テーブル名
ORDER BY 項目名;
で並べ替えたデータ群のうち,先頭の1件だけを
取ることができますが,
ORACLEでそのような機能(SQL)はあるでしょうか?
教えてください。
よろしくお願いします。

Aベストアンサー

order by と rownum を併用する場合は注意が必要です。

[tbl01]
cola | colb
------------
1000 | aaaa
1001 | bbbb

というデータがある場合、
select cola from tbl01 where rownum < 1 order by cola desc;
とすると、「1001」ではなく、「1000」が返されます。
これは、order by の前に rownum < 1 が適用されてしまうからです。

解決するには、
select aaa from (select cola aaa from tbl01 order by cola desc) where rownum = 1;
とすれば良いです。

QEclipse・プロジェクトで、フォルダをパッケージとして認識する

Eclipseを使っているのですが、
プロジェクトを立ち上げたときに、
普通フォルダをちゃんとパッケージとして認識してくれるのですが、パッケージのアイコンが普通のフォルダのアイコンの形をしたままでパッケージとして認識してくれないことがあります。

このとき、左のパースペクティブ(フォルダとかのツリー図)には.classファイルも.javaファイルと一緒に出てきます。

コンパイルはしているようですが、エラーの×印などが出てきません。


パッケージをパッケージとして認識してほしいので、アイコンがフォルダの絵からパッケージのアイコンになった状態にしたいのですが、どのようにすればよいでしょうか?

わかりにくい説明で申し訳ありませんが、もしわかりましたら教えていただけますと助かります。

Aベストアンサー

こんにちは。

左側に多分アイコンがあると思います。
(なければファイルにプラスマークがついたアイコンをクリックしてください)
それのファイルの絵がついているアイコン(リソース)と書かれている状態ですと、アイコンがフォルダで表示されますし、classファイルも一緒に表示されます。

Jというマークがついているアイコン(JAVA)を選択すると、ご希望のパッケージとして表示されます。

少し分かりにくくてすみません。
分からなかったらもう一度聞いてください。
頑張って分かりやすく説明できるようにしたいと思います

Q文字列として"(ダブルコーテーション)を表示させる方法

こんにちは。文字列として、ダブルコーテーションを表示させるには、どうすればよいのか教えてください。m(__)m


例えば、
<font size="2">あいうえお</font>

というタグの「あいうえお」の部分が、セルA1にあった場合、

="<font size="2">"&A1&"</font>"という表示にしたいのです。

"2"のダブルコーテーションも文字列として表示させるには、どうすればよろしいのでしょうか。

教えてください。よろしくお願い致します。

Aベストアンサー

こんにちは~

表示形式は 「標準」 のままで、
ダブルコーテーションを、ダブルコーテーションで囲んでください。

""2""

="<font size=""2"">"&A1&"</font>"

としてみてください。

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

QEclipseでのエラー検出の機能について

Eclipseの設定方法についてわからないことがあります。
つい先日ダウンロードしたばかりなのですが、最初のうちはソース中にエラーがあると即座に(ファイルを保存しなくても)バツマークがつきビューにエラーが表示され、またその部分を修正すればすぐにエラー表示が消えていました。
しかし何故かいつの間にか、ファイルを保存しないとエラー検出が更新されないようになってしまいました。
どこかの設定項目をいじれば元に戻せると思うのですが、一通り設定項目を見てもどこを設定すればいいのかわからず困っています。
どなたかわかるかたいましたら、よろしくお願いします。

Aベストアンサー

Eclipse環境ないのでカンですがオートビルドの設定がOFFになっているとダメとか・・・かも。


人気Q&Aランキング