LoginSignup
7
1

More than 3 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