【Intellij IDEA】ショートカットキーまとめと初期設定について
2012-04-06 03:36:34 Fri
Intellij IDEA を使うにあたって、
下記のURLの内容を色々と参考にさせていただきました。
これらを参考にして自分なりに
便利そうなショートカットキーをまとめてみました。
この他にやっとくといい設定をまとめました。
下記のURLの内容を色々と参考にさせていただきました。
- https://sites.google.com/site/shin1ogawa/intellij-idea
- http://d.hatena.ne.jp/kaiseh/20091030/1256906647
- http://d.hatena.ne.jp/kaiseh/20091105/1257447866
- http://d.hatena.ne.jp/hakurai+java/20120225/1330185960
- http://blog.livedoor.jp/beyondseeker/archives/50968636.html
- http://news.mynavi.jp/articles/2006/10/05/idea2/002.html
これらを参考にして自分なりに
便利そうなショートカットキーをまとめてみました。
| キー | 備考 |
| Ctrl + Space | 入力補完。Basic |
| Ctrl + Shift + Space | 入力補完。Smart Type |
| Ctrl + Alt + Space | 入力補完。Class Name |
| Ctrl + Alt + Shift + Space | 入力補完。Word |
| Alt + Enter | 警告・問題の解決策を表示 |
| Ctrl + Alt + L | コードをフォーマットする |
| Ctrl + Alt + O | インポートを再編成する |
| Ctrl + P | メソッドの引数情報を確認する |
| Ctrl + Q | JavaDocを確認する |
| Ctrl + F1 | キャレット位置のエラー/警告表示 |
| Alt + Insert | 適切なコードを生成する |
| Ctrl + O | オーバーライドしたメソッド生成 |
| Ctrl + I | インタフェースのメソッドを実装 |
| Ctrl + Alt + T | 選択箇所をif文やwhile文などで囲む |
| Ctrl + / | コメント化 |
| Ctrl + Shitt + / | コメントブロック化 |
| Ctrl + W | コードブロックを選択状態にする。連続で入力して範囲を広げる。 |
| Ctrl + Shift + W | コードブロックの選択範囲を小さくする。 |
| Ctrl + D | キャレットの行を下に挿入する |
| Ctrl + Y | キャレットの行を削除する |
| Shift + Enter | 新しい行を入力 |
| Ctrl + F4 | アクティブなタブを閉じる |
| Shift + F10 | コードの実行 |
| Shift + F9 | コードのデバッグ |
| Ctrl + N | 指定クラスにとぶ |
| Ctrl + Shift + N | 指定ファイルにとぶ |
| Ctrl + Alt + Shift + N | |
| Ctrl + G | 指定行に飛ぶ |
| Ctrl + B / F4 | 宣言箇所に飛ぶ |
| Ctrl + Alt + B | インタフェースやメソッドのを実装しているクラスの一覧表示。未確認。。。 |
| Ctrl + H | クラスの継承階層を表示 |
| Ctrl + Shift + H | 継承クラスのメソッドのオーバーライドの状況を表示 |
| Ctrl + Alt + H | メソッドを呼び出しているメソッド一覧表示 |
| F11 | キャレットの表をブックマークに追加/削除 |
| Shift + F11 | ブックマーク一覧表示 |
| F2 / Shift + F2 | エラー箇所へ移動。進む/戻る |
| Shift + F6 | リネーム |
| Ctrl + Alt + N | 変数に代入するのをやめて、メソッドの戻り値をそのままにまとめる |
| Ctrl + Alt + M | 選択部分をメソッドに抽出 |
| Ctrl + Alt + V | 右辺から左辺をローカル変数で定義する |
| Ctrl + Alt + F | 右辺から左辺をフィールド変数で定義する |
| Ctrl + Alt + C | カレントのリテラルから定数を定義する |
| Ctrl + Alt + P | String s; などをコンストラクタやメソッドのパラメータとして定義する |
| Ctrl + J | ライブテンプレート(soutでSystem.out.println()のような補完)。テンプレート編集はsetting → Live Templatesから |
| Alt + F1 | ビューの切り替え |
| Ctrl + E | 最近開いたソースファイルに切り替え。Elicpseではビューでコードへ戻ってからCtrl+Eだが、Intellj IDEAでは違うビューから戻るときも含めてこれで戻る |
| Shift + Esc | ビューを閉じる |
| Ctrl + Shift + F12 | ビューの最大化、もとに戻す |
| Ctrl + Alt + S | 設定 |
| Ctrl + Shift + I | キャレット位置のシンボル定義をポップアップ表示 |
| Ctrl + Alt + F12 | ファイルをエクスプローラーなどファイラーで開く |
| Ctrl + Shift + T | テスティングペアに移動。QuickJUnitと同じことが出来る。 |
| F4 | プロジェクトの設定 |
| Ctrl + Shift + F7 | キャレット位置のシンボルをコードハイライト |
| Shift + Alt + Insert | エディタの矩形選択モード。もう一度押すと元に戻る。 |
| Ctrl + NumPadの- | Collapse。折りたたむ。 |
| Ctrl + Shift + NumPadの- | Collapse All。すべて折りたたむ。 |
| Ctrl + NumPadの+ | Expand 。開く。 |
| Ctrl + Shift + NumPadの+ | Expand All。すべて開く。 |
| Ctrl + . | 折りたたみ / 開く |
| Ctrl + Shift + . | ? |
この他にやっとくといい設定をまとめました。
| フリーカーソルの無効化 | Editor - Virtual Space - Allow placement of caret after end of lineをオフにすると無効化 |
| キャレット位置のシンボルを自動的にハイライト | Editor - Highlight on Caret Movement - Highlight usages of element at caret |
| CamelCaseを考慮したキャレット移動 | Editor - Advanced mouse usages - Honor "CamelHumps" words setting when selecting on double clickを無効化 |
| 補完時のJavadocポップアップ | Editor - Code Completion - Autopopup documentation in (ms)を有効化 |
| 文字ケースに寛容な補完 | Editor - Code Completion - Case sensitive completionを"None" |
| パッケージ表示の平坦化 | ウィンドウ右上のツールボタンをクリックしてFlatten Packages |
| エディタの行数表示 | setting -> Editor -> Appearance -> Show line numbers |
【Intellij IDEA】折りたたみのショートカットキー
2012-04-05 01:50:08 Thu
Itellij IDEA でHTMLやXMLを扱うことが多いのですが、
折りたたみのショートカットキーがあるとすごいはかどります。
折りたたみは、FindActionのFoldingで探せます。
Collapse -> Ctrl + NumPadの-
Collapse All -> Ctrl + Shift + NumPadの-
Expand -> Ctrl + NumPadの+
Expand All -> Ctrl + Shift + NumPadの+
これに Ctrl + . でCollpseとExpandを代用できます。
すごい便利。
折りたたみのショートカットキーがあるとすごいはかどります。
折りたたみは、FindActionのFoldingで探せます。
Collapse -> Ctrl + NumPadの-
Collapse All -> Ctrl + Shift + NumPadの-
Expand -> Ctrl + NumPadの+
Expand All -> Ctrl + Shift + NumPadの+
これに Ctrl + . でCollpseとExpandを代用できます。
すごい便利。
【Intellij IDEA】ユニットテストを実行
2012-04-05 01:34:59 Thu
Intellj IDEA でテストコードを定義するのは下記のようにするとできます。
Project Structure -> Libraries -> AppEngine API

テスト実行は Run で実行。

Eclipse プラグイン の Quick JUnit みたいなのないのかな…。
Ctrl + 9 して Ctrl + 0 が手に染み付いてるんから不便だな。
と思ったら余裕であった。
参考
http://d.hatena.ne.jp/kaiseh/20091030/1256906647
Ctrl + Shift + T (ソース上で右クリック -> Go To -> Test Subjects) でテストコードとソースコード切り替え
さすがだ。
Project Structure -> Libraries -> AppEngine API

テスト実行は Run で実行。

Eclipse プラグイン の Quick JUnit みたいなのないのかな…。
Ctrl + 9 して Ctrl + 0 が手に染み付いてるんから不便だな。
と思ったら余裕であった。
参考
http://d.hatena.ne.jp/kaiseh/20091030/1256906647
Ctrl + Shift + T (ソース上で右クリック -> Go To -> Test Subjects) でテストコードとソースコード切り替え
さすがだ。
【Intellij IDEA】google app engine for java と slim3 の環境構築メモ
2012-04-04 04:08:25 Wed
■google app engine for java と slim3 の環境構築メモ
表題の通りなんだけれど、Intellij IDEA 11 で
GAE/J + slim3 の環境構築をするまでのメモ。
ちょっと苦労してしまった。。。
2012/04/04 23:55:22 追記
下記の手順では不足がありました。
というよりも、Itellij IDEA ではslim3は無理そうです。。。
下記のリンクの通り、アノテーション周りで困ったことになってしまいました。
ModelMetaの生成も同様?
http://groups.google.com/group/slim3-user/browse_thread/thread/edc34ea6182516cf
2012/04/07 20:36:26 追記
ModelMetaが生成される仕組みは Pluggable Annotation Processing API です。
下記ではじめて理解できました。
http://d.hatena.ne.jp/t_yano/20111207/1323277622
簡単に試してみるにはこちら。
http://blogs.dion.ne.jp/kotemaru/archives/9539738.html
このAnnotationProcessingの設定をInttellij IDEA でするには、下記のようします。
https://docs.google.com/document/d/1UASaSSrGFJOmRPC7NCeEqabSGoNmyEs4Ir-4H1y1a6g/edit?hl=en_US&pli=1
簡単に文字にしておくと、
setting -> Compiler -> Annotation Processors
にて、
Enable annotation processing -> slect
e.g.
Processor Path -> *.jar
Annotation Processors -> Processor FQ Name -> *.ProcessorFactory
Annotation Processors -> Processor Run Options -> no value
とかですかね。
Intellij IDEA では、この AnnotationProcessor は、javaxパッケージじゃないとダメらしい。
slim3ではcom.sun.mirrorのsunパッケージを使ってる。
これがどうしてもダメらしい。
僕もこれ以上はどうにもならないと思って諦めてEclipse使うことにした。
一応。
sdk\lib\shared もライブラリに含めないと javax.servlet.http.HttpServlet がコンパイルできないので
これもライブラリに含めておくこと。
- File -> New Project
Project name <- input
select type -> Java Module
- Ceate source directory -> src
- Please select the desired technologies -> Google App Engine (with Web Application)
appengine-java-sdkは事前にDLして任意のパスに展開
このディレクトリを指定
e.g. D:\opt\appengine-java-sdk-1.6.3.1
- created a project

- slim3 の slim3-blank を任意のパスに展開
以下をIntllij IDEA のプロジェクトにコピー
- \slim3-blank\build
- \slim3-blank\lib
- \slim3-blank\libsrc
- \slim3-blank\src
- \slim3-blank\test
- \slim3-blank\build.properties
- \slim3-blank\build.xml
以下をproject/webディレクトリにコピー
- \slim3-blank\war\css
- \slim3-blank\war\ktrwjr
- \slim3-blank\war\WEB-INF

- \slim3-blank\build
- webディレクトリをwarディレクトリに rename(Shift+F6)
- project root -> F4 or Open Module Setting
- Project Setting -> Facets -> Web -> Web Resouces Directory -> web を war に rename


- Project Setting -> Libraries -> + (New Project Library) -> Java
- 以下のファイルを選択
- \proto_gaej\war\WEB-INF\lib\junit-4.7.jar
- \proto_gaej\war\WEB-INF\lib\ktrwjr.jar
- \proto_gaej\war\WEB-INF\lib\slim3-1.0.15.jar

- Apply (Important!!)
- Project Setting -> Artifacts -> Output Layout -> WEB-INF -> lib -> + (Add Copy of) -> Library Files ->
slim3-X.X.XX
- Apply -> OK
- Ant Build -> + (Add) -> \IdeaProjects\proto_gaej\build.xml
- war/WEB-INF に classes ディレクトリを作成
- Ant Build -> slim3-blank -> gen-controller -> /
ざっとメモ。
【Solr】Solrサーバのセットアップ【tomcat】
2012-03-27 00:45:12 Tue
■環境
- CentOS 5 32bit
- jdk 1.6.0.31
- solr 3.4.0
- tomcat 7.0.23
■JDKのインストール
./jdk* を実行して展開する
/usr/local ディレクトリに移動する
bash_profileなどにJavaの実行パスを追加
PATH=$PATH:$HOME/bin
JAVA_HOME=/usr/local/jdk1.6.0_31
PATH=$PATH:$JAVA_HOME/bin
java -version でインストールの確認
※ bit数に注意
実はJavaにパス通さなくても下記のtomcatインストールのところにある
vi /etc/init.d/tomcat7 の起動用スクリプトで
JAVA_HOME をちゃんと設定していれば問題なし。
■apacheのインストール
http://itochif.com/contents/Linux/centos5/web/apache_00100.html 参考
rpm -qa httpd でインストール済みか確認
yum -y install httpd でインストールする
/etc/rc.d/init.d/httpd start で apache 起動
起動/停止コマンドの参考 http://tech.hitsug.net/?CentOS%2FApache%2F%E8%B5%B7%E5%8B%95%E8%A8%AD%E5%AE%9A
/etc/rc.d/init.d/httpd stop でapacheを停止する
■tomcatのインストール
http://symfoware.blog68.fc2.com/blog-entry-839.html を参考
mkdir /usr/local/jakarta ディレクトリを作成
jakartaディレクトリでtomcatのターボールを展開
apache-tomcat-7.0.23/bin/shutdown.sh で停止
ln -s /usr/local/jakarta/apache-tomcat-7.0.23 /usr/local/tomcat7 でシンボリックリンク作成
vi /etc/init.d/tomcat7 で起動用スクリプト作成
#! /bin/sh
### BEGIN INIT INFO
# Provides: tomcat7
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: tomcat7 servlet server
# Description: tomcat7 servlet server
### END INIT INFO
DESC="tomcat7 servlet server"
NAME=tomcat7
DAEMON1=/usr/local/tomcat7/bin/startup.sh
DAEMON2=/usr/local/tomcat7/bin/shutdown.sh
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
export JAVA_HOME=/usr/local/jdk1.6.0_31
export TOMCAT_HOME=/usr/local/tomcat7
. /lib/lsb/init-functions
case "$1" in
start)
echo -n "Starting servlet server: $NAME"
$DAEMON1
;;
stop)
echo -n "Stopping servlet server: $NAME"
$DAEMON2
;;
*)
echo "Usage: $SCRIPTNAME {start|stop}" >&2
exit 1
;;
esac
exit 0
chmod 755 などで実行権限を付与
/etc/init.d/tomcat7 start で起動
/etc/init.d/tomcat7 stop で停止
自動起動設定などをしておく
■solrのインストール
unzip apache-solr-3.4.0.zip で展開する
/usr/local ディレクトリに展開したディレクトリをすべて移動する
/usr/local/apache-solr-3.4.0/example を main などディレクトリ名を変更するかディレクトリコピーする
/usr/local/apache-solr-3.4.0/main/multicore/solr.xml で使用するコア名とディレクトリを指定する
<cores adminPath="/admin/cores">
<!--<core name="core0" instanceDir="core0" />-->
<core name="core1" instanceDir="core1" />
</cores>
/usr/local/apache-solr-3.4.0/main/multicore/core1 にlibディレクトリを作成
lucene-gosen-1.1.1-naist-chasen.jarをlibディレクトリに配置
/usr/local/apache-solr-3.4.0/main/solr/conf を /usr/local/apache-solr-3.4.0/main/multicore/core1/conf にコピー
confディレクトリ内に定義した schema.xml を配置
下記のコマンドでsolrサーバを起動/停止確認
■solr実行コマンドチューニング
java -Dsolr.solr.home=multicore -DSTOP.PORT=8888 -DSTOP.KEY=hogefuga -server -Xmx8192m -Xms5120m -XX:+UseGCOverheadLimit -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseTLAB -XX:MaxPermSize=1024m -XX:MaxDirectMemorySize=2048m -jar start.jar &
java -Dsolr.solr.home=multicore -DSTOP.PORT=8888 -DSTOP.KEY=hogefuga -server -Xmx8192m -Xms5120m -XX:+UseGCOverheadLimit -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseTLAB -jar start.jar &
■solrサーバ起動/停止コマンド
◯起動
java -Dsolr.solr.home=multicore -DSTOP.PORT=8888 -DSTOP.KEY=hogefuga -jar ./start.jar &
◯停止
java -DSTOP.PORT=8888 -DSTOP.KEY=hogefuga -jar ./start.jar --stop &
mkdir /usr/local/solr でディレクトリを作成
cp -r /usr/local/apache-solr-3.4.0/example/solr/* /usr/local/solr でディレクトリコピー、
あとで行うマルチコア用の設定をするのでrm -fr conf などでconfやbinディレクトリは削除しておく。
cp -r /usr/local/apache-solr-3.4.0/contrib/ /usr/local/solr/ でディレクトリコピー
cp -r /usr/local/apache-solr-3.4.0/dist/ /usr/local/solr/ でディレクトリコピー
mkdir /opt/solr でディレクトリを作成
unzip /usr/local/apache-solr-3.4.0/dist/apache-solr-3.4.0.war で/opt/solr に展開
cd /usr/local/tomcat7/conf/Catalina/localhost/solr.xml を以下のように作成
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/opt/solr/" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/usr/local/solr" override="true"/>
</Context>
マルチコアの設定として /usr/local/solr/solr.xml を変更
<!-- <cores adminPath="/admin/cores" defaultCoreName="core1">-->
<cores adminPath="/admin/cores">
<!--<core name="core0" instanceDir="core0" />-->
<core name="core1" instanceDir="core1" />
</cores>
defaultCoreName を設定すると、http://ホスト名:ポート/solr/admin/ で http://ホスト名:ポート/solr/core1/admin/ のエイリアスとしてアクセスできる
/usr/local/solr にcore1フォルダを作成
cp -r /usr/local/apache-solr-3.4.0/example/solr/conf /usr/local/solr/core1 でディレクトリをコピー
/usr/local/solr/core1 にlibディレクトリを作成
lucene-gosen-1.1.1-naist-chasen.jarをlibディレクトリに配置
/usr/local/solr/core1/conf/solrconfig.xml の../../ となっているところを /usr/local/solr/ に置換
ここまででtomcatを起動してアクセスできることを確認
■apacheとtomcatの連携
vi /etc/httpd/conf.d/proxy_ajp.conf を更新
# 最終行に追記
ProxyPass /tomcat/ ajp://localhost:8009/
/etc/rc.d/init.d/httpd restart でapacheをリスタート
/etc/init.d/tomcat7 stop して start でtomcatをリスタート
http://ホスト名/tomcat/solr/core1/admin/ こんな感じでアクセスできることを確認
ルートから丸ごとtomcatにプロキシする場合は
ProxyPass / ajp://localhost:8009/ とすることでOK
8080ポートでのアクセスは不要なので vi /usr/local/tomcat7/conf/server.xml でポートを利用しないように設定変更
<!--<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />-->
■クエリーの文字コードが化けてしまうので対策
http://shinodogg.com/?p=3035
○tomcat6に付属しているサンプルのフィルタクラスをtomcat7にコピーしてweb.xmlに設定
\apache-tomcat-6.0.35.tar\apache-tomcat-6.0.35\webapps\examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class これがいる
これを /opt/solr/WEB-INF/classes/filters/SetCharacterEncodingFilter.class にコピー
/opt/solr/WEB-INF/web.xml にfilter設定を追記
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
○server.xmlのajpプロトコルでエンコーディングの設定を追加
vi /usr/local/tomcat7/conf/server.xml で ajp プロトコルのところでエンコーディング周りの設定を追加。
<Connector port="ポート" ~略~ protocol="AJP/1.3″ ~略~
useBodyEncodingForURI="true" URIEncoding="UTF-8″ />
■JAVA_OPTSの設定
http://ameblo.jp/wataru420/entry-10837851281.html
http://d.hatena.ne.jp/flick-flick/20120120/1327024721
/usr/local/tomcat7/bin/setenv.sh を作成
#!/bin/sh
JAVA_OPTS="-server -Xms512M -Xmx512M"
export JAVA_OPTS