LM Studioを使ったAIクレジットを節約術 #JetBrainsIDEテクニック #jbips

JetBrains IDEをご利用の皆様はAI Assistantを活用していますか?

AI Assistantは、IDEが解析済みのインデックス情報を利用することでソースコードのスキャンを減らし、少ないトークンで高精度な開発ワークフローを実現することができます。
とはいえ、多用しているとAIクレジットの消費が気になるものです。

そこで試していただきたいのが、ローカルモデルの活用です。AI AssistantはGPT、Gemini、ClaudeやGrokなどの著名なモデルを自由に選択できるだけでなく、LM StudioOllamaといったLLMを手元で手軽に動かせるツールと組み合わせることで、無料でAIを使ったワークフローを実現できます。

ここではLM Studioを使った方法をご紹介します。

LM Studioのインストール

LM Studioは、各種LLMのダウンロード・実行・対話型チャットインターフェース、そして言語モデルサーバの機能を備えた統合ツールです。macOS、Windows、Linuxに各アーキテクチャ別のパッケージ(macOSのIntelアーキテクチャを除く)が提供されており、商用、非商用を問わず無償で利用できます。

LM Studio公式サイト
LM Studioを利用するにはまず公式サイトよりご利用のプラットフォーム向けのインストーラーをダウンロードしてください。


インストールは簡単で、例えばmacOSの場合はアプリケーションフォルダへドラッグ&ドロップするだけで完了します。


初回起動時は簡単なセットアップを行います。


ユーザーのレベルに応じてUIの詳細度が変わる仕組みになっています。プログラマーであれば”Developer”で良いでしょう。このレベルは後からでも1クリックで切り換えられます。


手始めにお勧めのモデルのダウンロードが行えます。ダウンロードボタンを押して進めてください。


ダウンロードが完了したら”Start a New Chat”より、いよいよローカルLLMの動作確認を行えます。


プロンプトを書くとモデルのロードを促すメッセージが現れますので”Model Loader”を押します。


ここでは最初にダウンロードしたQwen3-8bを選択してみます。


モデルのロードが完了し、プロンプトを投げると、結果が返ってきます。問題無く動作しているようです。

LM Studioのサーバを起動する

次に、LM Studioでロードしたモデルを他のアプリケーションから利用できるよう、サーバを起動します。
macOSではツールメニューから”Start Server on Port 1234…”を選択するだけ起動できます。

AI Assistantの設定

AI AssistantからLM Studioを利用する設定も簡単です。
IDEの設定画面を開き、[ツール]→[AI Assistant]→[モデル]→[サードパーティAIプロバイダー]にて、”OpenAI API”(*)を選択します。
* LM Studioを選択するとチャットUIでモデルを選択できないことがあります
“URL:” 欄には”http://localhost:1234/v1″を入力します。このURLはメニューバーのLM Studioのアイコンより”Copy LLM Server Base URL”でクリップボードにコピーして貼り付けることもできます。
URLの設定まで終わったら[接続のテスト]を押して、[接続完了]となるのを確認しましょう。

AI Assistantの実行

いよいよAI Assistantで使用するモデルとしてLM Studioを指定します。
AI Assistantのチャットインターフェース右下のモデル選択欄で”OpenAI APIが提供するモデル”より、ローカルで動作するモデルが選べるようになっているのが確認できます。

あとは任意のプロンプトを書いて、コーディングを手伝って貰いましょう。以下は、JavaでFizzBuzzを書いて貰ったところです。

今回の記事を書くにあたって使用したマシン(MacBook Pro 2021 M1 Max、メモリ64GB)ではQwen 3 8Bのモデルを利用して、FizzBuzzを出力するのに90秒かかりました。
一方、リモートモデルではGPT-5.1-Codexで61秒、GPT-5.1-Codex-Miniでは65秒でした。(計測はどれも1回のみ)
もちろんどの出力もFizzBuzzのプログラムとして正常に動作しました。

動作速度や精度は、利用するモデルの特性や、お手持ちのマシンのメモリ・GPU・CPUによって大きく変化しますが、ローカルLLMでも実用上大きく見劣りすることはなさそうです。普段使いはローカルLLM、複数のバリエーションを高速に試したいときはリモートLLM、といった形で使い分けも可能です。ぜひご活用ください。

#JetBrainsIDEテクニック – 外部ブラウザでプレビュー・リロード #jbtips

JetBrains IDEは2021.2から外部ブラウザでプレビュー中のHTMLをリロードできるようになりました。

エディタ右上に表示されるブラウザアイコンをクリックすると外部ブラウザでプレビューができます。
Cmd + SまたはCtrl + Sでhtmlを保存するとブラウザで表示中のHTMLは自動的にリロードされます。

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、WebStorm

#JetBrainsIDEテクニック – HTMLのプレビュー #jbtips

JetBrains IDEは2021.1から待望のIDE内HTMLプレビューが行えるようになりました。

やり方は簡単で、エディタ右上に表示されるIDEアイコンをクリックするだけです。
編集中、リアルタイムにレンダリングが行われます。

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、WebStorm

#JetBrainsIDEテクニック – エディタウインドウの効率的な分割 #jbtips

エディタウィンドウは左右や上下に分割して同じファイルでも異なるファイルでも同時に見ることができます。

プロジェクトツールウィンドウでファイルを開く際、Shift + Enterを押すと分割して右側に開いたり、タブをドラッグ&ドロップして上下左右任意の位置に分割箇所を移動することも可能です。

重要なテクニックですので、ツールウインドウ/エディタレイアウトの管理と共に是非習得してください。

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、DataGrip、WebStorm

#JetBrainsIDEテクニック – Postfix Completionのカスタマイズ #jbtips

Postfix CompletionはJetBrains IDEで生産性を上げる上で最も重要なテクニックのうちの1つです。
さらにPostfix Completionはご自分で新しいものを定義することもできます。

創造性を発揮して開発をより早く、より正確に、より楽しいものにしましょう!
動画で紹介している .last の他に、Javaでは以下のようなカスタムPostfix Completionを定義するのがオススメです。

キー Applicable
expression types
パターン
last java.util.List $EXPR$.get($EXPR$.size()-1)$END$
last array $EXPR$[$EXPR$.length-1]
ae non void assertEquals($END$,$EXPR$);
at boolean assertTrue($EXPR$);
af boolean assertFalse($EXPR$);

言語によってはまだカスタムPostfix Completionを定義できないものもございます。
以下に、各言語のYouTrackの課題をリンクいたしました。必要な方は是非ログインして投票してください。
Ruby: Ability to add custom Ruby postfix completion
Kotlin: Support custom postfix completion
Scala: Editable Postfix Code Completion for Scala

対応IDE: IntelliJ IDEA、PyCharm、Rider、RustRover、GoLand、PhpStorm、RubyMine、CLion、DataGrip、WebStorm

オンラインセミナー「無料で使えるJetBrains Space」 動画公開 #jbtips

先日開催いたしましたオンラインセミナー、「無料で使えるJetBrains Space」の動画を公開いたしました。

JetBrains Spaceはチーム開発向けのクラウドサービスで、プライベートGitリポジトリやDockerリポジトリが無料で作れるだけでなくチャットや課題、コードレビューなどの機能も充実しております。
このセミナーではJetBrains SpaceとIntelliJ IDEAを連携させて、Gitリポジトリの作成からプロジェクトファイルのコミット、コードレビューといった基本的な開発の流れ行う様子をご紹介しております。

JetBrainsの新しいチーム向けサービス、Spaceを是非お試しください。

#JetBrainsIDEテクニック – リネームリファクタリング #jbtips

JetBrains IDEはIDEがサポートしているあらゆるファイルでリネームリファクタリングを行えます。
シンボルは宣言している箇所から、利用している箇所から、どちらからでもリネームが可能です。複数のファイルにまたがって利用されているシンボル名もまとめてリネーム可能なので修正漏れがありまえん。

Mac Win/Linux
リネーム
Rename
Shift + F6

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、DataGrip、WebStorm

#JetBrainsIDEテクニック – コードフォーマット

JetBrains IDEはコーディング中は自動的にフォーマットを行ってくれますが、編集を重ねるに従って崩れてくることがあります。
必要に応じてコードの構造を理解しやすい形にフォーマットしましょう。
また、コミット時にフォーマットするようにしておけばコーディング中にフォーマットを気にする必要がなくなります。

Mac Win/Linux
コードフォーマット
Reformat Code
Opt + Cmd + L Ctrl + Alt + L
細かい設定をしてフォーマット…
Reformat File…
Shift + Opt + Cmd + L Ctrl + Alt + Shift + L

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、DataGrip、WebStorm