7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

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

Main.cs
namespace NameSpace.Domain
{
    public class Main
    {
        
    }
}

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

Main.cs
namespace NameSpaceTest.Domain
{
    public class Main
    {
        //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

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?