4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人メモ】ツール、設定、技術サイト

4
Last updated at Posted at 2025-01-12

【参考サイト】

■ 整形ツール
WebToolBox(SQL、Json 整形)

■ 変数名
codic
プログラミングの変数・メソッドの命名でよく使う英単語まとめ

■ 判定
PHP isset, empty, is_null の違い早見表

■ 演算子
PHP の演算子一覧:種類や使い方を解説(php8 対応)

API テスター

API Dog

FireShot

【Vscode のプラグイン、設定】

■Trailing Spaces
テキスト内や文末にある、不要と思われる半角スペースに色をつけてくれる拡張機能です。

■ 空白文字(タブ、スペース)のエディター上での表示方法に関する設定
https://www.javadrive.jp/vscode/setting/index8.html

■ タブキーを押したときにスペースに変換するのかに関する設定
https://www.javadrive.jp/vscode/setting/index9.html

■Better Comments(コメントをデコレーション)

■indent-rainbow(インデントの色付け)

■Japanese Language Pack for Visual Studio Code(Visual Studio Code を日本語化する)
https://www.javadrive.jp/vscode/install/index4.html

■EvilInspector(テキスト内にある全角スペースを強調表示してくれる拡張機能)

■Git Graph(リポジトリのツリーをグラフィカルに表示)

■GitLens(ファイルのコミット履歴や編集中の行がいつ、誰がコミットしたのかなどを確認)

■Todo Tree

■PHP Debug
※設定:【Laravel×Docker】Xdebug で Laravel コンテナをデバッグ実行する方法
https://hiro8blog.com/how-to-debug-laravel-container-by-xdebug/#st-toc-h-6

※launch.json の設定

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Listen for Xdebug",
      "type": "php",
      "request": "launch",
      "port": 9003,
      "pathMappings": {
        "/var/www/html": "${workspaceFolder}"
      }
    }
  ]
}

■PHP Intelephense(PHP のコード補完やらコードチェック)
https://yama-itech.net/visual-studio-code-recommend-setting-php

※以下でエラー表示設定を行う
VSCode 拡張機能 Intelephense の更新による Undefined type 'Route'(他クラス)のエラー

■PHP DocBlocker(Doc コメントの入力を補完)
■php cs fixer(ファイルの保存時に PHP のファイルのフォーマット)
https://qiita.com/cflat0528/items/08814378a5cf0d0c107d

■Laravel Extension Pack
image.png

【Cursor 設定】


・ショートカット
command + Shft + L
command + Shft + K
→ 通常通りに修正

・カラー設定
https://qiita.com/miriwo/items/54fae5131dac2b9f640d

・使い方
https://zenn.dev/umi_mori/books/ai-code-editor-cursor/viewer/install

・Cursor・VSCode ショートカット集
https://zenn.dev/motonosuke/articles/548beaa830287c

.cursorrules
https://note.com/toki_mwc/n/n960a23b3c3de

・プロダクト開発に必要なもの全部繋げたら Cursor が最強のプロダクトマネージャーになった
https://note.com/guchey/n/n773a2efd78cf

【Mac 設定】

<初期設定>
・キーボードの command、Control キーの反転
・CapsLock をかな英字の切り替え
・ディスプレイ ホットコーナーのショートカット
・マウスの速度
・Doc の位置
・辞書の登録
・隠しフォルダの表示
・右クリック時:Vscode で開く、新規ファイルを作成のショートカット作成
https://qiita.com/hiroyuki7/items/a3fcdf943c313473ecee
→ ショートカットで Cursor を開く

<アプリ>
・画面メモ:スティッキーズ

・クリップボード:Clipy

・画面分割のアプリ:ReacAngle

・圧縮アプリ:Keka

・スクリーンショット:LightShot

・KeyCluCask(チートシート)
https://50it.jeez.jp/archives/1528#toc3

・差分確認 MAC(Mac のマージツール):CompareMerge
https://qiita.com/Labi/items/e35b944bd98c12e2050d

・ショートカット変更:Karabiner-Elements
https://qiita.com/TSY0SEC/items/fff6d9b0768882355493

・ターミナル: Warp
使い方
https://qiita.com/shun_sakamoto/items/a0c79083c97064a361f2

・SourceTree
http://sourcetreeapp.com/

・Sequel Ace
https://sequel-ace.com/

・2023 年版 優良ツールまとめ エンジニア
https://qiita.com/kokiiii/items/7d634e3c3b6c096a492b#hyperswitch--alttab

【Windows ツール】

TortoiseGit
サクラエディタ
WinMerge
TeraTerm
7ZIP
A5:SQL Mk-2
heidisql
DBeaver
Eclipse(JAVA 開発)
Cassava Editor(CSV エディター)
TresGrep (grep ツール)

【クローム拡張機能】

  • FireShot
  • Talend API Tester
  • EditThisCookie (V3)
  • wappalyzer(使用技術)
  • Ad ブロック
  • React Developer Tools
  • クロード、パープレキシティの拡張機能
  • G-calize(Google カレンダー)
  • ChatGPT Ctrl+Enter Sender
  • keepa(アマゾン価格)
  • Subtitles for Language Learning (Prime Video)
  • Language Reactor(翻訳)

Cursor のシンボル機能(2025 年 5 月時点)

シンボル 概要・用途 例・構文
@Files 特定のファイルの内容を AI に参照させる @main.py @src/utils.ts
@Folders 特定フォルダ内のファイル一覧や構造を AI に参照させる @src/ @tests/
@Code 特定の関数・クラス・コードブロックを参照させる @MyComponent
@Docs プロジェクト内のドキュメントを参照させる @README.md
@Git Git リポジトリのコミットや履歴などを参照させる @git
@Codebase プロジェクト全体のコードベースを AI の参照対象にする @Codebase
@Web ウェブ上の情報や外部リソースを参照させる @Web
@Chat チャット履歴を AI のコンテキストに追加し、過去の議論やバグ報告などを参照できる @Chat
  • シンボルはチャット欄や AI プロンプトで @ から始めて指定します
  • 外部ドキュメントや独自サイトもカスタム Doc として登録・参照可能です

Cursor の主なショートカットキー一覧(2025 年 5 月時点)

機能 macOS Windows/Linux
Chat を開く Cmd + I Ctrl + I
選択コードで Chat を開く Cmd + Shift + I Ctrl + Shift + I
コマンドパレット Cmd + K / Cmd + Shift + P Ctrl + K / Ctrl + Shift + P
コード生成(AI 依頼) Cmd + K Ctrl + K
コード説明 Cmd + K → "explain" Ctrl + K → "explain"
型追加 Cmd + K → "add types" Ctrl + K → "add types"
テスト作成 Cmd + K → "add tests" Ctrl + K → "add tests"
リファクタ Cmd + K → "refactor" Ctrl + K → "refactor"
デバッグ Cmd + K → "debug" Ctrl + K → "debug"
ファイル名検索 Cmd + P Ctrl + P
シンボル検索 Cmd + Shift + O Ctrl + Shift + O
ファイル内検索 Cmd + F Ctrl + F
全ファイル検索 Cmd + Shift + F Ctrl + Shift + F
ターミナル開閉 Cmd + J Ctrl + J
サイドバー開閉 Cmd + B Ctrl + B
タブ切り替え Cmd + Shift + ] / [ Ctrl + Shift + ] / [
AI リファクタ提案 Cmd + Shift + R Ctrl + Shift + R
AI ドキュメント生成 Cmd + Shift + D Ctrl + Shift + D
Cursor Tab 機能オン/オフ カスタム設定例: Ctrl + Cmd + T カスタム設定例: Ctrl + Alt + T
  • コマンドパレット(Cmd/Ctrl + Shift + P)から「Keyboard Shortcuts」で割り当て変更が可能です[

もちろんです!Cursor でのコードレビュー方法を、実際の流れや使い方に沿って、わかりやすくまとめ直します。


Cursor でのコードレビュー方法(2025 年 5 月版)

1. コミット前のレビュー(作業中のコードをレビューしたい場合)

方法 A:今編集しているファイルや選択範囲をレビュー

  1. レビューしたいコードを選択(もしくはファイル全体を開く)
  2. ショートカットで AI レビューを呼び出す
    • Mac: Cmd + K →「review」と入力
    • Win: Ctrl + K →「review」と入力
  3. AI に「この部分をレビューして」と依頼
    例:「この関数のバグがないかレビューして」

方法 B:変更した部分(差分)だけをレビュー

  1. ターミナルで変更差分を出力
    git diff > diff.txt
    
  2. diff.txt を Cursor で開き、AI にレビューを依頼
    • 例:「この diff の内容をレビューしてください」

2. コミット後のレビュー(既にコミットした内容をレビューしたい場合)

方法 A:直近のコミット内容をレビュー

  1. ターミナルで直近コミットの差分を出力
    git show HEAD > last_commit.diff
    
  2. last_commit.diff を Cursor で開き、AI にレビューを依頼

方法 B:ブランチや Pull Request の差分をレビュー

  1. 比較したいブランチ間の差分を出力
    git diff main..feature-branch > branch.diff
    
  2. branch.diff を Cursor で開き、AI にレビューを依頼

3. その他の便利なレビュー方法

  • 特定のフォルダやファイルだけをレビューしたい場合
    例:「@src/components/ ディレクトリ内の変更だけレビューして」
  • セキュリティやパフォーマンスなど観点を指定したい場合
    例:「この変更にセキュリティ上の問題がないか確認して」

4. チームでのレビュー活用例

  • Mermaid 記法でガントチャートや設計図をレビュー
    例:「この Mermaid コードのタスク順序が妥当かレビューして」
  • レビュー結果を Markdown やドキュメントとして保存
    例:「レビュー結果を README に追記して」

ポイントまとめ

  • コミット前は「今編集している部分」や「未コミットの差分」を AI に見せてレビュー依頼
  • コミット後は「コミットの差分」や「ブランチ間の差分」を AI に見せてレビュー依頼
  • レビュー観点(バグ、セキュリティ、パフォーマンスなど)は自由に指定できる
  • 差分ファイル(diff)を作って AI に渡すのが一番確実で便利

参考コマンド・例

# 作業中の差分をdiffファイルに出力
git diff > diff.txt

# 直近コミットの差分をdiffファイルに出力
git show HEAD > last_commit.diff

# ブランチ間の差分をdiffファイルに出力
git diff main..feature-branch > branch.diff

.cursorrules は、AI コードエディタ「Cursor」で使用される特別な設定ファイルで、プロジェクトごとの開発ルールやコーディングスタイル、命名規則、推奨ライブラリ、禁止事項などを明文化し、AI のコード生成や提案内容をプロジェクトの方針に合わせてカスタマイズするためのものです。


.cursorrules の主な役割

  • プロジェクト固有のルール設定
    変数や関数の命名規則、コンポーネントのスタイル、使用するライブラリ、テストディレクトリの場所など、プロジェクト特有のルールを AI に伝えます。

  • AI の動作・提案内容の調整
    ルールを記述することで、AI が生成するコードや提案内容がプロジェクトのコーディングスタンダードやベストプラクティスに沿うようになります。

  • チーム開発の一貫性向上
    ルールをチーム全体で共有することで、誰がコードを書いても一貫したスタイル・品質が保たれます。新メンバーもすぐにプロジェクトのルールを理解できます。

  • 生産性・学習コストの最適化
    AI がプロジェクトに最適化された提案をするため、手動修正や調整が減り、開発効率が向上します。また、AI を通じてベストプラクティスを学ぶこともできます。

.cursorrules ファイルの作成・使い方は以下の通りです。


1. ファイルの作成

  • プロジェクトのルートディレクトリに「.cursorrules」という名前のテキストファイルを作成します[1][3][4][5][6]。
  • ターミナルで作成する場合は
    touch .cursorrules
    

2. ルールの記述

  • .cursorrules ファイルには、プロジェクト固有のコーディングルールやスタイルガイド、AI への指示を記述します。
  • 記述方法はプレーンテキスト、JSON、あるいは簡潔な命令文で OK です。

記述例(プレーンテキスト)

Use camelCase for variables and function names
Use PascalCase for React components
Do not use console.log; use src/utils/logger.ts instead
Place all tests in the __tests__ directory
Use Zod for all schema validation
Avoid declaring any type in TypeScript

記述例(JSON 形式)

{
  "name": "ls -R customization",
  "description": "Customize ls -R output",
  "rules": [
    {
      "command": "ls -R",
      "output_format": "{directory}:{files}"
    }
  ]
}
  • ルールはプロジェクトやチームの方針に合わせて自由にカスタマイズできます。

3. ファイルの適用

  • Cursor エディタでプロジェクトを開くと、自動的に.cursorrules が読み込まれ、AI によるコード生成や提案内容に反映されます。
  • もし適用されていない場合は、Cursor の設定画面で「Include .cursorrules file」を有効にしてください。
  • ルールを変更した場合は、Cursor を再起動するかプロジェクトを開き直すことで反映されます。

以下は、Laravel プロジェクトで使うことを想定した日本語の.cursorrules ファイル例です。
実際のプロジェクトの方針やチーム文化に合わせて、自由に加筆・修正してください。


4. .cursorrules の参考ファイル例

# Laravelプロジェクト用 .cursorrules

1. コントローラー、モデル、リクエストクラス、リソースなどのクラス名はパスカルケース(例:TaskController)を使用すること
2. 変数名、関数名はキャメルケース(例:taskList、getUserTasks)を使用すること
3. Bladeテンプレートファイルはスネークケースで命名すること(例:task_list.blade.php)
4. コントローラーのメソッドはRESTfulな命名(index, show, create, store, edit, update, destroy)を基本とする
5. バリデーションはFormRequestクラスを利用し、コントローラー内で直接バリデーションしないこと
6. Eloquentモデルのリレーションはメソッド名を複数形・単数形などLaravelの慣習に従うこと
7. データベースのテーブル名・カラム名はスネークケースで統一すること
8. マイグレーションファイルやSeederのファイル名は日付+スネークケースで記述すること
9. コード内で直接SQL文は原則使わず、EloquentまたはQueryBuilderを利用すること
10. ルーティングはroutes/web.php(Web)とroutes/api.php(API)に分けて管理すること
11. ログ出力にはLogファサードを利用し、ddやdumpは本番コードに残さないこと
12. テストコードはtests/Featureまたはtests/Unitディレクトリに配置し、テストメソッド名は「test_」で始めること
13. コードの日本語コメントは必要最小限にとどめ、基本は英語コメントとすること
14. 依存パッケージの追加はcomposerで管理し、composer.lockも必ずコミットすること
15. .envファイルに機密情報やAPIキーは直接記載せず、必要に応じて.env.exampleも更新すること
16. コーディング規約(PSR-12など)に従い、php-cs-fixerやLaravel Pintで整形すること
17. コードレビュー時はこのルールを基準に確認すること

# 必要に応じて追加・修正してください

補足

  • 日本語で記述しても Cursor は十分理解できます。
  • ルールは 500 行以内、できれば簡潔にまとめ、必要なら分割して管理するのが推奨されています。
  • 上記は Laravel の一般的なベストプラクティスを意識した内容です。プロジェクト独自の運用やコーディング基準があれば、さらに詳細化・調整してください。

その他参考サイト

Cursor で要件定義がエラいスムーズになった話
https://qiita.com/WdknWdkn/items/7c130f2febfdf33b31a4

(続)Cursor で「詳細設計 → ガントチャート草稿」作成がめっちゃ楽になった話
https://qiita.com/WdknWdkn/items/b0d9807e32acfc328f2e

AI Agent × Cursor で要件整理から実装まで
https://zenn.dev/kii/articles/with_ai-agent_on_2504


【Laravel 保存処理】

■isDirty():データが更新されたかどうか確認
https://minory.org/laravel-isdirty-getdirty.html

■touch():モデルで更新日(updated_at)のみ変更する
https://pgmemo.tokyo/data/archives/1311.html

■save():更新データとの差分を見て更新するか決めてる

■update():更新データとの差分を見てないで更新

この時、もし$request->name が既存データと同じデータだとしたら
save()
updated_at のカラムが更新されない

update()
updated_at のカラムが更新される
https://qiita.com/gomaaa/items/91e5cbd319279a2db6ec

■insertGetId()
テーブルに insert したデータの ID などを取得する方法
https://goldenshield.hatenablog.com/entry/2018/10/21/154125

■updateOrCreate()
updateOrCreate メソッドを利用して登録・更新ロジックを共通化
https://zenn.dev/naonao70/articles/48d75bf2cc793e

■Pivot クラス(中間テーブルのモデル)
https://qiita.com/kkznch/items/72ff650737eff863e4d9

■Pivot 中間テーブルに保存する方法【attach・sync・detach】
https://biz.addisteria.com/pivot_attach/

◼️SQL チューニング
① 駆動表を小さくする
② 結合途中のデータの塊の範囲を小さくする(1 回広げて条件を絞るのは NG)
③ 無駄な結合を省く
④ インデックスが貼っている順に Where、Order By を指定
⑤ 検索インデックスがかかっていない箇所を見つけ対応

SQL で駆動表を小さくするためには、いくつかの方法があります。

1. 必要なカラムだけを選択する
必要なカラムだけを選択することで、駆動表のサイズを減らすことができます。不要なカラムを含めると、データ量が増え、パフォーマンスが低下します。
sql SELECT column1, column2 FROM table_name WHERE conditions;

2. WHERE 句を使ってデータを絞り込む
WHERE 句を使用して、必要なデータだけを抽出します。これにより、駆動表のサイズを減らすことができます。

SELECT column1, column2
FROM table_name
WHERE condition;

3. JOIN 句を適切に使う
必要なデータを取得するために、JOIN 句を適切に使用します。不要なテーブルを結合しないように気をつけます。

4. インデックスを使用する
インデックスを使用すると、クエリの実行速度が向上し、駆動表のサイズも減らすことができます。インデックスを作成する際には、頻繁にフィルタリングやソートに使用されるカラムに対してインデックスを設定します。

5. サブクエリを使う
サブクエリを使用して、一部のデータを事前にフィルタリングし、その結果をメインクエリで使用することで、駆動表のサイズを減らすことができます。

SELECT *
FROM (SELECT column1, column2 FROM table_name WHERE condition) subquery
WHERE additional_condition;

6. 結合の順序を最適化する
複数のテーブルを結合する際には、結合の順序を最適化することが重要です。一般的には、データ量が少ないテーブルを先に結合し、その後に大きなテーブルを結合することが推奨されます。

4
2
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?