Named tool window layouts for JetBrains Rider, like Window | Layouts in other JetBrains IDEs.
- Save the current tool window layout under a name and switch between layouts at any time.
- Keep layouts shared by all solutions or specific to one solution.
- Restore the active layout, save changes into it, rename or delete layouts, or go back to the default layout.
- Reopen each solution with the tool window layout it had when it was closed.
- Rider's Window | Layout Settings is integrated into the layout menu (optional).
- Prefer the menu of other JetBrains IDEs? Switch to it in the settings.
- English and Japanese user interface.
The actions are under Window | Layouts, the options under Settings | Tools | Layout Manager.
JetBrains Rider 2026.1 to 2026.3 (builds 261 to 263).
Install Layout Manager from JetBrains Marketplace (Settings | Plugins | Marketplace), or download the plugin ZIP and use Settings | Plugins | ⚙ | Install Plugin from Disk….
JDK 25 is provisioned by Gradle toolchains.
./gradlew buildPlugin # build/distributions/LayoutManagerPlugin-<version>.zip
./gradlew runIde # run a sandboxed Rider with the plugin
./gradlew verifyPlugin # IntelliJ Plugin Verifier
./gradlew selfTest # in-IDE self-test (two Rider launches, about a minute and a half)The plugin is built against the oldest supported Rider (platformVersion, downloaded from the JetBrains Maven
repository) and verified against it and the latest one (platformVersionLatest). To build and run against a locally
installed Rider instead, pass -PriderLocalPath=<Rider install directory>; such builds target that Rider's Java
version and are for development only, not for release.
The build reads secrets from environment variables only; nothing is stored in the repository.
| Variable | Used by | Content |
|---|---|---|
CERTIFICATE_CHAIN |
signPlugin |
Certificate chain (PEM) |
PRIVATE_KEY |
signPlugin |
Private key (PEM) |
PRIVATE_KEY_PASSWORD |
signPlugin |
Password of the private key |
PUBLISH_TOKEN |
publishPlugin |
JetBrains Marketplace token |
The plugin signer supports ECDSA, RSA and DSA keys (not Ed25519). These steps create an ECDSA key on the P-384
curve, protected by a password, in ~/.jetbrains-signing. Keep that folder and the password private and backed up:
later versions must be signed with the same key. OpenSSL is included in Git for Windows.
Windows PowerShell (OpenSSL is not on its PATH, so it is called by its full path):
$openssl = 'C:\Program Files\Git\ucrt64\bin\openssl.exe'
New-Item -ItemType Directory -Force ~\.jetbrains-signing | Out-Null
Set-Location ~\.jetbrains-signing
& $openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -aes-256-cbc -out private_encrypted.pem
& $openssl req -key private_encrypted.pem -new -x509 -days 3650 -sha384 -out chain.crtGit Bash:
mkdir -p ~/.jetbrains-signing && cd ~/.jetbrains-signing
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -aes-256-cbc -out private_encrypted.pem
openssl req -key private_encrypted.pem -new -x509 -days 3650 -sha384 -out chain.crtgenpkey asks for the key password twice; req asks for it again and for the certificate details (for example
Luna Project as the organization). In Git Bash, do not pass the details with -subj "/CN=…": the shell rewrites the
leading / into a Windows path.
Set the variables in the same terminal, then sign. Replace <password> with the key password.
$env:CERTIFICATE_CHAIN = Get-Content -Raw ~\.jetbrains-signing\chain.crt
$env:PRIVATE_KEY = Get-Content -Raw ~\.jetbrains-signing\private_encrypted.pem
$env:PRIVATE_KEY_PASSWORD = '<password>'
.\gradlew.bat signPluginexport CERTIFICATE_CHAIN="$(cat ~/.jetbrains-signing/chain.crt)"
export PRIVATE_KEY="$(cat ~/.jetbrains-signing/private_encrypted.pem)"
export PRIVATE_KEY_PASSWORD='<password>'
./gradlew signPluginThe result is build/distributions/LayoutManagerPlugin-<version>-signed.zip. To check the signature, run
verifyPluginSignature afterwards as a separate command (Gradle rejects running both tasks in one command).
- Upload the first version by hand on JetBrains Marketplace:
the signed ZIP, license LGPL 2.1, source code
https://github.com/LunaProject-Discord/LayoutManager. - Create a token under My Tokens in your Marketplace profile and set it as
PUBLISH_TOKEN. - Publish later versions with
publishPlugin(signs, verifies and uploads), with the variables above set.
See also Plugin Signing.
GNU Lesser General Public License v2.1
JetBrains Rider に、他の JetBrains IDE の ウィンドウ | レイアウト と同様の、名前付きツールウィンドウレイアウトを追加するプラグインです。
- 現在のツールウィンドウのレイアウトに名前を付けて保存し、いつでも切り替えられます。
- レイアウトは、すべてのソリューションで共通にするか、ソリューションごとに保存するかを選べます。
- 使用中のレイアウトの復元、変更の保存、名前の変更、削除、デフォルトのレイアウトへの切り替えができます。
- ソリューションを開くと、前回閉じたときのレイアウトを復元します。
- Rider の ウィンドウ | レイアウト設定 をレイアウトメニューに統合します (オプション)。
- 他の JetBrains IDE と同じメニューを使いたい場合は、設定で切り替えられます。
- 英語と日本語の表示に対応しています。
操作は ウィンドウ | レイアウト、設定は 設定 | ツール | Layout Manager にあります。
JetBrains Rider 2026.1〜2026.3 (ビルド 261〜263)
JetBrains Marketplace (設定 | プラグイン | Marketplace) から Layout Manager をインストールするか、プラグインの ZIP をダウンロードして 設定 | プラグイン | ⚙ | ディスクからプラグインをインストール… を使用してください。
JDK 25 は Gradle のツールチェーンで自動的に用意されます。
./gradlew buildPlugin # build/distributions/LayoutManagerPlugin-<バージョン>.zip
./gradlew runIde # プラグインを入れたテスト用の Rider を起動
./gradlew verifyPlugin # IntelliJ Plugin Verifier
./gradlew selfTest # IDE 内の自己テスト (Rider を2回起動、約1分半)プラグインは、対応する最も古い Rider (platformVersion、JetBrains の Maven リポジトリからダウンロード) に対してビルドし、
その版と最新の版 (platformVersionLatest) で検証します。インストール済みの Rider でビルド・実行する場合は
-PriderLocalPath=<Rider のインストール先> を指定してください。この場合はその Rider の Java のバージョン向けにビルドされるため、
開発用であり、公開には使えません。
秘密の情報は環境変数からのみ読み込み、リポジトリには保存しません (変数の一覧は英語版の表を参照)。
署名ツールが対応している鍵は ECDSA、RSA、DSA です (Ed25519 には対応していません)。以下の手順では、パスワードで保護した
P-384 曲線の ECDSA 鍵を ~/.jetbrains-signing に作ります。このフォルダーとパスワードは他人に渡さず、控えを取っておいてください。
以後の更新も同じ鍵で署名する必要があります。OpenSSL は Git for Windows に含まれています。
Windows PowerShell (OpenSSL が PATH にないため、フルパスで呼び出します):
$openssl = 'C:\Program Files\Git\ucrt64\bin\openssl.exe'
New-Item -ItemType Directory -Force ~\.jetbrains-signing | Out-Null
Set-Location ~\.jetbrains-signing
& $openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -aes-256-cbc -out private_encrypted.pem
& $openssl req -key private_encrypted.pem -new -x509 -days 3650 -sha384 -out chain.crtGit Bash:
mkdir -p ~/.jetbrains-signing && cd ~/.jetbrains-signing
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -aes-256-cbc -out private_encrypted.pem
openssl req -key private_encrypted.pem -new -x509 -days 3650 -sha384 -out chain.crtgenpkey では鍵のパスワードを2回、req ではそのパスワードと証明書の情報 (組織名に Luna Project など) を聞かれます。
Git Bash では -subj "/CN=…" で情報を渡さないでください。先頭の / が Windows のパスに書き換えられてエラーになります。
同じターミナルで環境変数を設定してから署名します。<パスワード> は鍵のパスワードに置き換えてください。
$env:CERTIFICATE_CHAIN = Get-Content -Raw ~\.jetbrains-signing\chain.crt
$env:PRIVATE_KEY = Get-Content -Raw ~\.jetbrains-signing\private_encrypted.pem
$env:PRIVATE_KEY_PASSWORD = '<パスワード>'
.\gradlew.bat signPluginexport CERTIFICATE_CHAIN="$(cat ~/.jetbrains-signing/chain.crt)"
export PRIVATE_KEY="$(cat ~/.jetbrains-signing/private_encrypted.pem)"
export PRIVATE_KEY_PASSWORD='<パスワード>'
./gradlew signPluginbuild/distributions/LayoutManagerPlugin-<バージョン>-signed.zip ができます。署名を確認する場合は、続けて
verifyPluginSignature を別のコマンドとして実行してください (1つのコマンドで両方を実行すると Gradle がエラーにします)。
- 最初のバージョンは JetBrains Marketplace から手動でアップロードします。
署名済みの ZIP をアップロードし、ライセンスに LGPL 2.1、ソースコードに
https://github.com/LunaProject-Discord/LayoutManagerを指定します。 - Marketplace のプロフィールの My Tokens でトークンを作成し、
PUBLISH_TOKENに設定します。 - 2回目以降は、上の環境変数を設定したうえで
publishPluginを実行すると公開できます (署名・検証・アップロードを行います)。
Plugin Signing も参照してください。