Quantcast
Channel: プラネット NetBeans
Viewing all articles
Browse latest Browse all 4643

marsのメモ: [IDEA][advent] 10日目 IDEの設定(Project Settings)

$
0
0

File->SettingsのProject Settings編です。Project Structureとの明確な違いを言い表せませんが、長い歴史の名残りだと思って下さい。


全部みたわけじゃないんですが、どうもこの「Project Settings」はIntelliJにしか無いみたいです。WebStormやRubyMineは「Settings(Preferences)」しかないです。たぶん、PhpStormやPyCharm, AppCodeも同じなんじゃないかな。


Code Style

  f:id:masanobuimai:20121118222431p:image

コードフォーマッターで整形するルールを設定します。言語別に設定項目があり,正直うんざりします。設定を保存するSchemeのうち「Default」は変更不可なので,別のSchemeを作って独自の設定をしましょう。


JavaのImportの設定がちょっと分かりづらいですが,Java->Importsを以下のように設定するのを好んでいます。

  • Use single class import を ON にして,import hoge.* にしない(それ以外はすべてOFF)
  • Names count to use static import with '*' に 1 を設定して static import は速攻で * を使う

それとJavadoc系の設定(Java->JavaDoc)は,日本語の処理がイマイチなので全体的に無効(Enable JavaDoc formattingをOFF)にしておくと良いです。


そうそう,言語ごとにタブサイズの設定がありますが,どうゆうわけかHTMLにはその項目がありません。じゃあ,HTMLのタブサイズはどこで設定するかというと一般(General)のタブサイズが適用されますので,ご注意を。

#IDEA12だとHTMLの設定にタブサイズ指定ができてました(よかったよかった。


また、以前説明したように改行コードの指定(Line separator (for new files))も、ここでおこないます。

IntelliJでファイルの改行コードを指定する



Compiler

  f:id:masanobuimai:20121115230226p:image

コンパイラの設定をします。Project Structure のSDKと分かれてるのが、正直不満です。

ここでは、javacに渡すオプション(Compiler->Java Compiler)とか、コンパイル時にビルドディレクトリにコピーするリリースファイルのパターン(Resource patterns)などを設定します。


最近流行りのAnnotation Processorの設定(Compiler->Annotation Processors)もここで行います。



Copyright

IntelliJのおもしろプラグイン、Copyrightの設定を行います。詳しくは他のエントリーで書きます。



Coverage

  f:id:masanobuimai:20121118223717p:image

カバレッジの結果の収集方法に関する設定です。サーバサイドJavaでもカバレッジ取れるようになったので、もうClover要らないw



Deployment

IntelliJのおもしろプラグイン、Remote Hostの設定を行います。こちらも詳しくは他のエントリーで書きます。



File Colors

  f:id:masanobuimai:20121118223747p:image

ファイルのパターンを指定して、その表示色を設定します。設定した色はProject ウィンドウやエディタのタブに反映されます。巨大なプロジェクトでファイルを視覚的に区分けしたい時など、便利と言えば便利な機能です。

More Colors with Maia



File Encodings

  f:id:masanobuimai:20121118223816p:image

その名の通り、ファイルのエンコードを設定します。ディレクトリやファイル単位に細かく指定できるのでかなり便利です(残念なことに拡張子別には指定できませんが...。


ひとつ落とし穴がありまして,Project Settingsに属しながらも,ここの「IDE Encoding」はプロジェクト固有の設定ではなく,IDE共通の設定になります。さらにこのエンコードはコンパイラに渡されますので「IDE EncodingはUTF-8だけど,たまにWindows-31Jで作成したプロジェクトを開く」といったシチュエーションのとき大変困ります。


IDE Encodingとプロジェクトのソースのエンコードが異なる場合は,Compiler->Java Compiler->Additional command line parametersに以下のような設定をしておく必要があります。

-encoding Windows-31J

初めてIntelliJに触れる人へ − Javadocの日本語化


あと申し訳ついでにプロパティファイルに関する設定もここにあります。画面下のほうにひっそりあるので,よく見落とします。設定項目は以下の2つです。

  • プロパティファイルのエンコードを指定する(Default encoding for properties files)
  • 自動的に native2ascii を行うかを設定する(Transparent nattive-to-ascii conversion)


Gant/Gradle

Groovy のビルドツール、GantとGradleの設定です。といってもツールのパスを指定するだけです。

Gantは正直オワコンですよね。



GUI Designer

GUI デザイナっで作った画面をソースに展開するか、バイナリのままにするかを指定します(Generate GUI into)。

バイナリのままだど、そのプログラムの実行環境にIntelliJのランタイムライブラリが必要になります。


何よりGUI デザイナ自体、IntelliJのプラグインでGUI使うときくらいしか使いません。GUI デザイナはNetBeansのほうが万人向けだと思います。



Inspections

  f:id:masanobuimai:20121118223855p:image

Hectorおじさんの指摘項目を設定します。要するにFindBugsとCheckstyleのIntelliJ版です。気が遠くなるほど設定項目がありますが,ヒマなときに全部眺めてみると意外な発見があると思います。結構,いろいろやってます。

ちょっと面白いInsectorがありまして、General->Structural Search Inspectionでは、IntelliJのStructural SearchやReplace(Edit->Find->Search/Replace Structurally)の検索・置換パターンを登録してそれをリアルタイムに検査することができます。Replaceの場合、置換結果を修正候補に出せます。

  f:id:masanobuimai:20121124004815p:image

以前、@さんが紹介していたStructural Searchを登録しておくなんてことができます。

IntelliJのStructural Searchでfail文のない異常系テストコードを抽出 - しおしおの雑記帳


JavaScript

  f:id:masanobuimai:20121118223917p:image

JavaScriptの言語レベルの指定(JavaScript language version)や使用するライブラリ(JavaSciprt->Libraries),コード検査(JavaSciprt->Code Quality Tools)の設定を行います。



Language Injections

  f:id:masanobuimai:20121118224117p:image

IntelliJのヘンタイ機能のLanguage Injectionsの設定を行います。「Language Injectionsって何?」という方は,こちらを参照してください。

Language Injectionオモロイ


おもしろい機能ではあるのですが、実際のところJDBCのStatementなど該当するAPIに直接文字列をハードコードすることは希で、普通はStringなりStringBuilder/StringBufferなどの変数や定数に、お目当ての文字列代入しとく事が多いので、本当に役に立つかはわかりません。:-P



Maven

  f:id:masanobuimai:20121118224508p:image

Mavenの設定です。Gant/Gradleで暗に言ってますが,IntelliJにはこの手のよく使うであろうビルドツールバンドルしてません。Mavenそのものを別途インストールしておき,そのパスを指定します。ただし、どうゆうワケかAntだけはIntelliJにバンドルされています。Project Settingsに項目はありませんが,Antの設定はAnt Buildウィンドウで行います。ようするに、IntelliJ当初からAntをサポートしており、そのときはビルドツールなんてAntくらいしか無かったのでバンドルしてただけ、というのが続いているだけなんだと思います。


IntelliJはMavenのpomをそのままプロジェクトとして読み込めますが,その関連をどうするか(Maven->Importing)やMavenのリポジトリの設定(Maven->Repositories)などを行います。わたし自身が,Mavenそのものをあまり使ってないので,細かいところまではわかりません。><



Schemas and DTDs

  f:id:masanobuimai:20121118224541p:image

XMLを編集するときに参照するXMLスキーマやDTDなどを登録します(External Schemas and DTDs),もしくは無視させる(Ignored Schemas and DTDs)。あと,ここに置くしか無かったのでしょうか?HTMLの言語レベルの指定(Default HTML language level)もここにあります。


Scopes

Projectウィンドウや先ほどのFile Colorsや検索などで,ある条件でプロジェクトの対象を絞り込むスコープ(Scope)の設定を行います。ピンとこない方は,こちらを参照してください。

特定のファイルのみを表示するようにスコープ設定してみた


これもある程度大きなプロジェクトを扱っていると便利な機能です。独自のスコープを設定し,「ああ,IntelliJ使っててよかった」とほくそ笑むと良いでしょう。



Spelling

スペルチェックで使う単語(Accepted Words)や辞書(Dictionaries)を設定します。「スペルチェックそのものがうざい」場合は,「Configure 'Spelling' inspection」のリンクから,スペルチェックそのものを無効にしてしまいましょう。


SQL Dialects

SQLファイルの中身がOracle用なのかDB2用なのかといった方言(SQL Dialect)を指定します。


Tasks

  f:id:masanobuimai:20121118224720p:image

BTS/ITSと連係するTasksの設定を行います。eclipseで言うところのMylynみたいなものです(乱暴な説明だなw)。連係するサーバ(Tasks->Servers)は数多くあります(JIRA, YouTrack, Lighthouse, PivotalTracker, GitHub, Redmine, Trac, Bitbucket)。おそらく連係可能なサーバはプラグインで追加できるのだと思いますが,JetBrains純正のプラグインでしか,この項目が追加されるプラグインを見たことがありません。たとえば,Backlogと連係したい場合は,誰かがガンバらないと叶わないでしょう(チラッ


私自身,手近にあるBTS/ITSがTrac/Redmine/GitHubくらいなのですが,どうゆうわけかTrac連係だけうまく行きませんでした。:-(



Template Data Languages

ファイルの言語タイプを設定します。本来は拡張子によってファイルタイプが決まるのですが,なんらかの理由でファイルタイプを変更したいときに指定するのでしょうか?(使ったこと無い)。実際試してみましたが,拡張子のほうが強かったです(何に使うんだろう...)。


Version Control

  f:id:masanobuimai:20121118224748p:image

Subversion, Git, Mercurialといったバージョン管理システムとの連係方法を設定します。設定上,同一のプロジェクトで複数のバージョン管理システムと連係できるみたいですが,同じディレクトリに異なるバージョン管理システムを指定すると,IntelliJが混乱するようです。


特定のバージョン管理システムに依存しない無視するファイルの指定(Version Control->Ignored Files)もできます。設定をみると「FileInfo.iws」と「.idea/workspace.xml」がデフォルト値なってますが,これ以外のIntelliJの管理ファイルを登録しても大丈夫なのかは,正直自身がありません(IntelliJでチーム開発したことがないので...)。


Tasksではなく,ここにこの設定があるのも微妙なのですが,コミットログに含まれるBTS/ITSのチケット番号と,それに対応するBTS/ITSのリンクも設定できます(Version Control->Issue Navigation)。


Web Contexts

Webコンテキストを設定します。プロジェクトがJavaでWebファセット(要するにWebアプリケーションプロジェクト)がついている場合,同様の設定はProject Structureでできるのに,なぜ似たような設定がここにあるのかが不思議でなりません。一瞬「Webモジュール用かな?」と思いましたが,Webモジュールの場合,ここに設定可能な情報が出てきませんでした。ますますもって謎です。


そんなこともあって,この項目は気にしたことがありません。:-P


XSLT File Associations

XSLTを設定するようです。というのもの,XSLT自体もう何年も扱ったことが無いので,ここをいじる用事もなく,なにができるのかもよくわかってません。:-)


Viewing all articles
Browse latest Browse all 4643

Trending Articles