Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9559

Riderで自動挿入される名前空間をうまいこと調整する

$
0
0

Riderはいいぞ

 いきなり回し者みたいな書き出しですが、ムッチャ書きやすいです。usingとか自動で挿入してくれますし。

名前空間の自動挿入

 新しくcsファイルを作ったら勝手に名前空間も挿入してくれます。便利です。名前空間はデフォルトではプロジェクト名とディレクトリで決めてくれます。例えばNameSpaceプロジェクトでDomainディレクトリを作り、MainというClassを作った時、以下のようなファイルが生成されます。

Main.cs
namespaceNameSpace.Domain{publicclassMain{}}

自動は便利だけど。。。

 NameSpaceプロジェクトとは別に、関連するプロジェクトを作るとしましょう。ゲームだったらマップファイル作成ツールとかそんな感じのやつです。そのプロジェクトで使うコードを本プロジェクトで流用することもあり得るわけです。関連プロジェクトの名前を仮にNameSpaceTestとかにするとルートの名前空間名もそうなってしまいますが、コードを流用する点ではまずいわけです。

Main.cs
namespaceNameSpaceTest.Domain{publicclassMain{//NameSpaceTest名前空間内にある}}

無理やり書き換えてもいいですが、こんな感じで波線がつきます。
スクリーンショット 2020-01-08 22.34.32.png
スクリーンショット 2020-01-08 22.34.57.png

この波線をどうにかします。自動で挿入してくれたりAlt+Enterでリファクタリングできると楽ですし。ValueObjectの方はSubという名前空間も無視するようにします。

やり方

ルート名前空間の方

プロジェクトプロパティにRoot namespaceがあるのでそれを書き換えます。
スクリーンショット 2020-01-08 22.35.48.png
スクリーンショット 2020-01-08 22.36.23.png

ディレクトリの無視

ディレクトリのプロパティにNamespace providerというチェックが付いてるはずなのでこれを外します。
スクリーンショット 2020-01-08 22.36.46.png
スクリーンショット 2020-01-08 22.37.06.png

結果

スクリーンショット 2020-01-08 22.37.35.png
スクリーンショット 2020-01-08 22.37.47.png
きれいになりました。

参考

名前空間を調整する - 公式ヘルプ | JetBrains Rider
https://pleiades.io/help/rider/Refactorings__Adjust_Namespaces.html


Viewing all articles
Browse latest Browse all 9559

Trending Articles