feat: VSCode環境の強化 - cSpell辞書、拡張機能、設定の追加 - #491
Conversation
- cspell.json: 技術用語・拡張機能IDの辞書を追加 - extensions.json: ErrorLens, GitLens, TODO Tree等の便利な拡張機能を追加 - settings.json: ブラケットペア、スティッキースクロール、TypeScript最適化等を追加 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughExpanded VSCode workspace configuration: added many extension recommendations, detailed editor and language settings, a cspell configuration with custom word list, and an exception in .gitignore to track the custom words file. All changes are configuration only. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 AI Code Review (Local Hook)Models: Codex (default) / Gemini (default) 🤖 Codex Review指摘事項
判定: patch is incorrect ✨ Gemini Reviewはい、承知いたしました。Git diffのレビューを実施します。 発見事項
全体的な評価
|
Claude Code レビュー概要VSCode環境強化のPRとして全体的に有用な変更です。ただし、いくつか対応が必要な点があります。 🔴 バグ・問題点1. 参照ファイルの欠落(要対応)
// cspell.json
{
"dictionaryDefinitions": [
{
"name": "custom-words",
"path": "./.vscode/cspell-custom-words.txt", // ← このファイルが存在しない
"addWords": true
}
]
}cSpellが起動時にエラーまたは警告を出します。空のファイルでも追加するか、 🟡 改善推奨2.
|
| 優先度 | 件数 |
|---|---|
| 要対応(バグ) | 1件 |
| 改善推奨 | 3件 |
| 軽微 | 2件 |
マージ前に .vscode/cspell-custom-words.txt の欠落を解消することを必須とします。 他の指摘はオプションですが対応を推奨します。
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (4)
.vscode/extensions.json (2)
5-5:ms-vscode.vscode-typescript-nextrecommends nightly TypeScript to all contributors.This extension installs pre-release TypeScript builds that can break editing/type-checking experience unpredictably. For a shared workspace config, consider removing it and instead pinning a stable TypeScript version in
package.json, which all editors will pick up automatically.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.vscode/extensions.json at line 5, The workspace recommends the pre-release extension "ms-vscode.vscode-typescript-next", which can introduce unstable TypeScript behavior; remove that entry from .vscode/extensions.json and instead add/pin a stable TypeScript version in package.json's devDependencies (e.g., "typescript": "<stable-version>") so editors use the project TypeScript; update README or CONTRIBUTING to document using the pinned TypeScript and run npm/yarn install so contributors pick up the stable toolchain.
5-5:ms-vscode.vscode-typescript-nextrecommends nightly TypeScript builds to all contributors.This extension installs pre-release/nightly TypeScript versions that may introduce breaking language service changes, reducing editor stability for the whole team. Consider replacing it with the stable TypeScript SDK via
ms-vscode.vscode-typescriptor simply relying on the workspace'stypescriptpackage for type-checking.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.vscode/extensions.json at line 5, The workspace recommends the nightly TypeScript extension "ms-vscode.vscode-typescript-next", which can introduce unstable language-service changes; replace that entry with the stable "ms-vscode.vscode-typescript" or remove it and rely on the project's workspace/typescript package instead to ensure consistent, stable editor behavior for all contributors.cspell.json (2)
2-2: Schema URL is pinned to the mutablemainbranch.The URL
https://raw.githubusercontent.com/streetsidesoftware/cspell/main/...can change without notice. The latest stable cspell release is 9.6.4, so pin the schema to match the version in use.♻️ Proposed fix — pin schema to a versioned tag
- "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/packages/cspell-types/cspell.schema.json", + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/cspell%409.6.4/packages/cspell-types/cspell.schema.json",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@cspell.json` at line 2, The "$schema" entry in cspell.json is pinned to the mutable main branch; update the schema URL to reference the stable cspell v9.6.4 tag instead (replace the current https://raw.githubusercontent.com/streetsidesoftware/cspell/main/... URL with the versioned tag URL for v9.6.4) so the schema is stable and matches the cspell release used.
2-2: Schema URL is pinned to the mutablemainbranch.
https://raw.githubusercontent.com/streetsidesoftware/cspell/main/...can change at any time. Pin to a specific release tag (e.g.,v9.6.4) so IDE validation stays stable.♻️ Proposed fix — pin schema to a versioned release
- "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/packages/cspell-types/cspell.schema.json", + "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/v9.6.4/packages/cspell-types/cspell.schema.json",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@cspell.json` at line 2, The cspell.json "$schema" property is pointing at the mutable 'main' branch URL; replace that URL with a versioned release tag (for example change "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/packages/cspell-types/cspell.schema.json" to use a specific tag such as "https://raw.githubusercontent.com/streetsidesoftware/cspell/v9.6.4/packages/cspell-types/cspell.schema.json") so the schema is pinned and IDE validation remains stable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@cspell.json`:
- Around line 6-11: The cspell.json references a custom word list at
"./.vscode/cspell-custom-words.txt" under "dictionaryDefinitions" with
"addWords": true, but that file is missing; create and commit an empty
.vscode/cspell-custom-words.txt file (or add initial words) to the repo so
cSpell and the VSCode "Add Word" action can write to it without warnings, then
ensure the file is tracked in git.
- Around line 6-11: The cspell configuration in cspell.json references a
non-existent custom dictionary path ("dictionaryDefinitions" entry with "path":
"./.vscode/cspell-custom-words.txt" and "addWords": true); create the file
.vscode/cspell-custom-words.txt (an empty file is fine) so cSpell no longer
warns and user-added words can be persisted.
---
Nitpick comments:
In @.vscode/extensions.json:
- Line 5: The workspace recommends the pre-release extension
"ms-vscode.vscode-typescript-next", which can introduce unstable TypeScript
behavior; remove that entry from .vscode/extensions.json and instead add/pin a
stable TypeScript version in package.json's devDependencies (e.g., "typescript":
"<stable-version>") so editors use the project TypeScript; update README or
CONTRIBUTING to document using the pinned TypeScript and run npm/yarn install so
contributors pick up the stable toolchain.
- Line 5: The workspace recommends the nightly TypeScript extension
"ms-vscode.vscode-typescript-next", which can introduce unstable
language-service changes; replace that entry with the stable
"ms-vscode.vscode-typescript" or remove it and rely on the project's
workspace/typescript package instead to ensure consistent, stable editor
behavior for all contributors.
In `@cspell.json`:
- Line 2: The "$schema" entry in cspell.json is pinned to the mutable main
branch; update the schema URL to reference the stable cspell v9.6.4 tag instead
(replace the current
https://raw.githubusercontent.com/streetsidesoftware/cspell/main/... URL with
the versioned tag URL for v9.6.4) so the schema is stable and matches the cspell
release used.
- Line 2: The cspell.json "$schema" property is pointing at the mutable 'main'
branch URL; replace that URL with a versioned release tag (for example change
"https://raw.githubusercontent.com/streetsidesoftware/cspell/main/packages/cspell-types/cspell.schema.json"
to use a specific tag such as
"https://raw.githubusercontent.com/streetsidesoftware/cspell/v9.6.4/packages/cspell-types/cspell.schema.json")
so the schema is pinned and IDE validation remains stable.
| "dictionaryDefinitions": [ | ||
| { | ||
| "name": "custom-words", | ||
| "path": "./.vscode/cspell-custom-words.txt", | ||
| "addWords": true | ||
| } |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
fd --type f "cspell-custom-words.txt"Repository: keito4/config
Length of output: 39
🏁 Script executed:
# Verify cspell.json exists and contains the configuration mentioned in the review
cat cspell.json | head -20Repository: keito4/config
Length of output: 529
cspell-custom-words.txt is referenced but not committed.
./.vscode/cspell-custom-words.txt does not exist in the repository. cSpell will emit a warning on every run, and with "addWords": true, attempts to persist new words via the "Add Word" VSCode command will silently fail until the file exists. Commit an empty file alongside this config.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@cspell.json` around lines 6 - 11, The cspell.json references a custom word
list at "./.vscode/cspell-custom-words.txt" under "dictionaryDefinitions" with
"addWords": true, but that file is missing; create and commit an empty
.vscode/cspell-custom-words.txt file (or add initial words) to the repo so
cSpell and the VSCode "Add Word" action can write to it without warnings, then
ensure the file is tracked in git.
🧩 Analysis chain
🏁 Script executed:
fd --type f "cspell-custom-words.txt"Repository: keito4/config
Length of output: 39
Add the missing .vscode/cspell-custom-words.txt file.
The file referenced in cspell.json (line 9) does not exist in the repository. This will cause cSpell to emit a warning on every invocation, and addWords: true will fail to persist user-added words. Create an empty .vscode/cspell-custom-words.txt file to resolve this.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@cspell.json` around lines 6 - 11, The cspell configuration in cspell.json
references a non-existent custom dictionary path ("dictionaryDefinitions" entry
with "path": "./.vscode/cspell-custom-words.txt" and "addWords": true); create
the file .vscode/cspell-custom-words.txt (an empty file is fine) so cSpell no
longer warns and user-added words can be persisted.
- cspell-custom-words.txt を追加(辞書ファイル欠落の修正) - .gitignore に cspell-custom-words.txt の例外を追加 - source.organizeImports を削除(ESLintとの競合リスク回避) - プロジェクト依存拡張機能(Docker/Tailwind)を削除 - グローバル editor.wordWrap を削除(markdown個別設定で十分) - 冗長な設定を削除(unwantedRecommendations, .git除外) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Claude Code レビュー総評VSCode 開発環境の標準化として方向性は適切です。ただし、いくつか確認・改善すべき点があります。 🔴 要対応1.
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.vscode/settings.json (1)
13-15: Prefer the modern string enum value over the legacy boolean foreditor.quickSuggestions.
"strings": trueis the old boolean format. The sub-propertiesstrings,comments, andothernow accepton,inline,offin addition totrueandfalse. Both still work, but the setting is inconsistent with the markdown override at lines 65–68, which already uses the modern"off"string form.♻️ Proposed fix
- "editor.quickSuggestions": { - "strings": true - }, + "editor.quickSuggestions": { + "strings": "on" + },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.vscode/settings.json around lines 13 - 15, Update the editor.quickSuggestions sub-property to use the modern string enum instead of a boolean: replace the boolean value for "strings" under the editor.quickSuggestions setting with the equivalent string (e.g. "on") so it matches the modern format used elsewhere (see the editor.quickSuggestions -> strings property and the markdown override that uses "off"); leave other sub-properties unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.vscode/settings.json:
- Around line 13-15: Update the editor.quickSuggestions sub-property to use the
modern string enum instead of a boolean: replace the boolean value for "strings"
under the editor.quickSuggestions setting with the equivalent string (e.g. "on")
so it matches the modern format used elsewhere (see the editor.quickSuggestions
-> strings property and the markdown override that uses "off"); leave other
sub-properties unchanged.
feat/project-type-presets (#490) と feat/vscode-environment-enhancements (#491) のマージにより生じたコンフリクトを手動で解消。 - .claude/commands/setup-new-repo.md: --type/--interactive オプション、Step 3.5 (プロジェクトタイプ検出)、Step 9.5 (skills/plugins設定) を追加 - docs/setup/README.md: project-presets.json への参照と Note を追加 - .devcontainer/codespaces/devcontainer.json: CLAUDE_CONFIG_DIR を追加 - .devcontainer/templates/project-presets.json: 新規作成(プロジェクトプリセット定義) - .gitignore: cspell-custom-words.txt と .claude-data/ を追加 - .vscode/extensions.json: 推奨拡張機能を追加 - .vscode/settings.json: 詳細なエディタ設定を追加 - cspell.json, .vscode/cspell-custom-words.txt: スペルチェック設定を追加 Co-authored-by: keito4 <keito4@users.noreply.github.com>
|
🎉 This PR is included in version 1.80.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
Test plan
🤖 Generated with Claude Code
Summary by CodeRabbit