スポンサーサイト

-------- --:--:-- --

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【Intellij IDEA】ショートカットキーまとめと初期設定について

2012-04-06 03:36:34 Fri

Intellij IDEA を使うにあたって、
下記のURLの内容を色々と参考にさせていただきました。

これらを参考にして自分なりに
便利そうなショートカットキーをまとめてみました。

キー 備考
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 適切なコードを生成する。コンストラクタやgetter/setterなど。Project Viewだと新規ファイル作成。
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 + .
Ctrl + Shift + F 文字列をプロジェクト内から検索する。(grep)
Alt + Home Editor Viewでナビゲーションバーにフォーカス移動
Shift + Escape カレントのViewを隠す
Alt + 1 Project Viewを表示/非表示
Ctrl + Alt + ←(→) (参照先やデバッグなど)戻る/進む
Alt + ←(→) 隣のエディタソースに戻る/進む
Ctrl + B 定義元へとぶ
Ctrl + Alt + B インターフェース実装先へとぶ
Ctrl + Shift + B 変数の定義クラスへとぶ

◯ショートカットキーの組み合わせで便利そうなものをメモ

Alt + Home → Alt + Insert
新規ファイル作成が簡単。


Editor View で Alt + F1 → 1
Project View で該当ファイルを表示
その後Alt + Home → Enter でEditor View に戻る


◯この他にやっとくといい設定をまとめました。

フリーカーソルの無効化 Settings -> Editor で
Virtual Space -> Allow placement of caret after end of lineをオフにすると無効化
キャレット位置のシンボルを自動的にハイライト Settings -> Editor で
Highlight on Caret Movement -> Highlight usages of element at caret をオンで有効化
CamelCaseを考慮したキャレット移動 Settings -> Editor -> Smart Keys -> Use "CamelHumps" words
補完時のJavadocポップアップ Settings -> Editor -> Code Completion -> Autopopup documentation in (ms)を有効化
文字ケースに寛容な補完 Settings -> Editor -> Code Completion -> Case sensitive completionを"None"
エディタの行数表示 Settings -> Editor -> Appearance -> Show line numbers
空白とタブ文字の表示 Settings -> Editor -> Appearance -> Show whitespaces
パッケージ表示の平坦化 ウィンドウ右上のツールボタンをクリックしてFlatten Packages


スポンサーサイト

【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を代用できます。
すごい便利。


【Intellij IDEA】ユニットテストを実行

2012-04-05 01:34:59 Thu

Intellj IDEA でテストコードを定義するのは下記のようにするとできます。

Project Structure -> Libraries -> AppEngine API

WS000295.jpg

テスト実行は Run で実行。

WS000304.jpg

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 がコンパイルできないので
これもライブラリに含めておくこと。
WS000296.jpg



  1. File -> New Project
    Project name <- input
    select type -> Java Module
    WS000284.jpg

  2. Ceate source directory -> src

  3. 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
    WS000285.jpg


  4. created a project
    WS000287.jpg


  5. 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


    WS000286.jpg


  6. webディレクトリをwarディレクトリに rename(Shift+F6)

  7. project root -> F4 or Open Module Setting

  8. Project Setting -> Facets -> Web -> Web Resouces Directory -> web を war に rename
    WS000290.jpg
    WS000291.jpg


  9. Project Setting -> Libraries -> + (New Project Library) -> Java

  10. 以下のファイルを選択

    • \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


    WS000294.jpg

  11. Apply (Important!!)

  12. Project Setting -> Artifacts -> Output Layout -> WEB-INF -> lib -> + (Add Copy of) -> Library Files ->
    slim3-X.X.XX
    WS000288.jpg


  13. Apply -> OK

  14. Ant Build -> + (Add) -> \IdeaProjects\proto_gaej\build.xml

  15. war/WEB-INF に classes ディレクトリを作成

  16. 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


solrは1つのコアしか利用しないつもりでも将来的なマルチコアを想定して環境を作っておく。
そんなに面倒でもないので。

あと、solrにはjettyが同梱されます。
そのままjettyを使っても良いのですがapache tomcat 上で利用することにし、tomcatはapache httpサーバとajpプロトコルで連携させます。

細かいファイル構成まで書いていると死にそうなのでざっくりと。

solr本体
WS000015_20120726161120.jpg

solr_home
WS000020_20120726175754.jpg
←マルチコアのフォルダを置いていく。このsolr直下にsolr.xmlがある

tomcat本体
WS000017_20120726161412.jpg
←/usr/local/jakarta/apache-tomcat-7.0.26/conf/Catalina/localhost/solr.xml でWARのdocBaseを指定しつつtomcatのEnvironmentのnameにsolr_home、valueにsolr_homeのパスを文字列で記述

solr webアプリ
WS000019_20120726162006.jpg
←/usr/local/apache-solr-3.4.0/dist/apache-solr-3.4.0.war を展開したものを入れておく。フィルターの設定とかいらないとか、WARがあるならわざわざ展開する必要はない。


■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/startup.sh で起動確認

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



◯tomcatのBasic認証はこちら(apacheでやればいいみたいだけどajpとか使ってても普通にやればいいの?がわからず調査していないのでtomcatでやってます)
http://zonotex.blogspot.jp/2012/05/tomcatapache-solrbasic.html

solrjでBasic認証ヘッダ付与の実装例
http://zonotex.blogspot.jp/2012/05/caused-by-org.html
名言集
全記事(数)表示
全タイトルを表示
ブログ内検索
Loading
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。