Skip to content

Commit d764a95

Browse files
committed
.vscode
1 parent f62b32c commit d764a95

4 files changed

Lines changed: 124 additions & 1 deletion

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ PRIVATE-NOTES.md
2828
# === VS Code (special case) ===
2929

3030
# WHY: Ignore editor state while allowing a shared baseline configuration.
31-
.vscode/
31+
#.vscode/
3232

3333
# WHY: Commit recommended extensions (opt-in) for consistent development experience.
3434
# NOTE: Share recommendations, not personal editor styles or preferences.

.vscode/ABOUT_THIS_FOLDER.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# VS Code Configuration (`.vscode/`)
2+
3+
This folder contains **optional editor configuration files** for Visual Studio Code.
4+
They are provided to support a consistent, professional development experience,
5+
but **nothing in this folder is required to run the code**.
6+
7+
## Scope
8+
9+
You do not need to understand or edit these files.
10+
They exist to:
11+
- prevent common conflicts
12+
- model professional project structure
13+
14+
15+
## Important Note About JSON and Comments
16+
17+
**Standard JSON does NOT allow comments.**
18+
19+
However, **VS Code intentionally allows comments** in certain configuration files
20+
inside the `.vscode/` folder as a documented exception.
21+
22+
This means:
23+
- These files are valid **for VS Code only**
24+
- They should **not** be reused as general-purpose JSON files
25+
- Comments are used here deliberately for teaching and documentation
26+
27+
Do not copy these files into other tools or contexts that expect strict JSON.
28+
29+
## Files
30+
31+
- `extensions.json` Recommends VS Code extensions as **suggestions**, not requirements. VS Code may prompt you to install these when you open the project.
32+
33+
- `settings.json` (Optional) Editor preferences that apply only to this workspace,
34+
such as formatting behavior or linting integration.

.vscode/extensions.json

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"recommendations": [
3+
// ============================================================
4+
// === TODO Task Management ===
5+
// ============================================================
6+
"gruntfuggly.todo-tree", // TODO/FIXME comment tracking
7+
// ============================================================
8+
// === PYTHON DEVELOPMENT ===
9+
// ============================================================
10+
"ms-python.python", // Core Python support
11+
"ms-python.vscode-pylance", // Fast IntelliSense and type checking
12+
"charliermarsh.ruff", // Modern formatting and linting (replaces black + isort + flake8)
13+
// ============================================================
14+
// === FILE PATH ASSISTANCE ===
15+
// ============================================================
16+
"christian-kohler.path-intellisense", // Autocomplete for file paths in Python strings (e.g., "data/file.csv")
17+
// NOTE: Terminal autocomplete (tab/right-arrow) is built into your shell (bash/zsh/PowerShell), not VS Code
18+
// ============================================================
19+
// === MARKDOWN AND DOCUMENTATION ===
20+
// ============================================================
21+
"yzhang.markdown-all-in-one", // Shortcuts, TOC, formatting for .md files
22+
"bierner.markdown-preview-github-styles", // GitHub-style markdown preview
23+
// "bierner.markdown-mermaid", // Diagram rendering in markdown (flowcharts, etc.)
24+
// ============================================================
25+
// === DATA FILES AND CONFIGURATION ===
26+
// ============================================================
27+
"redhat.vscode-yaml", // YAML syntax, validation, formatting
28+
"tamasfe.even-better-toml", // TOML syntax, validation (for pyproject.toml)
29+
"mechatroner.rainbow-csv", // Color-code CSV columns for readability
30+
// ============================================================
31+
// === PROJECT INFRASTRUCTURE ===
32+
// ============================================================
33+
"editorconfig.editorconfig", // Respects .editorconfig settings (indentation, line endings)
34+
"github.vscode-github-actions", // Syntax highlighting for .github/workflows/*.yml
35+
],
36+
"unwantedRecommendations": [
37+
// ============================================================
38+
// === NOT RECOMMENDED: CONFLICTS WITH CURRENT SETUP ===
39+
// ============================================================
40+
"esbenp.prettier-vscode", // We use ruff for Python, built-in formatters for JSON/YAML
41+
"ms-pyright.pyright", // Use Pylance (Pyright engine) instead to avoid duplicate diagnostics
42+
"ms-python.black-formatter", // We use ruff format instead
43+
"ms-python.isort", // We use ruff for import sorting
44+
"ms-vscode.live-server", // Not needed for Python/analytics projects
45+
"ritwickdey.liveserver", // Duplicate of above
46+
"ms-vscode-remote.remote-containers", // OPTIONAL: Not recommended - local dev preferred
47+
"eamodio.gitlens", // OPTIONAL: Powerful for work; noisy for individual projects
48+
]
49+
}

.vscode/settings.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// .vscode/settings.json
2+
{
3+
"editor.formatOnSave": false,
4+
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe",
5+
"python.terminal.activateEnvironment": true,
6+
"python.analysis.typeCheckingMode": "basic",
7+
"python.analysis.diagnosticSeverityOverrides": {
8+
"reportMissingTypeStubs": "none"
9+
},
10+
"[python]": {
11+
"editor.defaultFormatter": "charliermarsh.ruff"
12+
},
13+
"[json]": {
14+
"editor.defaultFormatter": "vscode.json-language-features"
15+
},
16+
"[jsonc]": {
17+
"editor.defaultFormatter": "vscode.json-language-features"
18+
},
19+
"[markdown]": {
20+
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
21+
},
22+
"[yaml]": {
23+
"editor.defaultFormatter": "redhat.vscode-yaml"
24+
},
25+
"[yml]": {
26+
"editor.defaultFormatter": "redhat.vscode-yaml"
27+
},
28+
"[toml]": {
29+
"editor.defaultFormatter": "tamasfe.even-better-toml"
30+
},
31+
"[github-actions-workflow]": {
32+
"editor.defaultFormatter": "redhat.vscode-yaml"
33+
},
34+
"yaml.schemas": {
35+
"https://json.schemastore.org/github-workflow.json": [
36+
".github/workflows/*.yml",
37+
".github/workflows/*.yaml"
38+
]
39+
}
40+
}

0 commit comments

Comments
 (0)