Skip to content

Add workspace settings and extensions for VSCode#8

Merged
frostney merged 2 commits into
mainfrom
feat-workspace-settings
Feb 18, 2026
Merged

Add workspace settings and extensions for VSCode#8
frostney merged 2 commits into
mainfrom
feat-workspace-settings

Conversation

@frostney
Copy link
Copy Markdown
Owner

@frostney frostney commented Feb 18, 2026

Summary by CodeRabbit

Release Notes

  • Chores

    • Added VS Code workspace configuration with recommended extensions for enhanced development experience.
    • Configured automated code formatting on save.
  • Documentation

    • Expanded editor setup instructions across project documentation.
    • Added new Roadmap section with feature checklist.
    • Enhanced code style guide with comprehensive editor configuration details.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 18, 2026

Warning

Rate limit exceeded

@frostney has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 4 minutes and 47 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

This PR establishes VS Code editor configuration for automated Pascal code formatting and documents the setup process. It adds extension recommendations, configures format-on-save for .pas and .dpr files, and updates project documentation to guide developers through editor setup.

Changes

Cohort / File(s) Summary
VS Code Configuration
.vscode/extensions.json, .vscode/settings.json
New configuration files: extension recommendations (Pascal, RunOnSave, EditorConfig) and runOnSave settings to automatically format Pascal files on save via ./format.pas script.
Documentation Updates
AGENTS.md, README.md, docs/code-style.md
Documentation expanded to describe editor setup process, including VSCode extension installation, format-on-save behavior, .editorconfig defaults, and multi-layer workflow (editorconfig → runOnSave → Lefthook → CI). README restructured with new Editor Setup and Roadmap sections.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A hop, a skip, and formats bloom,
When Pascal files exit the room,
Extensions hop and settings shine,
With RunOnSave, the code's divine! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add workspace settings and extensions for VSCode' accurately reflects the main changes in the pull request, which adds .vscode/extensions.json and .vscode/settings.json configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat-workspace-settings

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 18, 2026

Benchmark Results

113 benchmarks · 113 unchanged · avg -1.0%

arrays.js — 11 unchanged · avg -0.4%
Benchmark Base (ops/sec) PR (ops/sec) Change
Array.from length 100 145,387 143,803 -1.1%
Array.of 10 elements 160,409 158,308 -1.3%
spread into new array 169,977 169,301 -0.4%
map over 50 elements 91,391 90,994 -0.4%
filter over 50 elements 91,278 90,306 -1.1%
reduce sum 50 elements 96,217 95,220 -1.0%
forEach over 50 elements 95,486 94,713 -0.8%
find in 50 elements 102,410 100,850 -1.5%
sort 20 elements 4,091 4,193 +2.5%
flat nested array 80,859 81,069 +0.3%
flatMap 39,799 39,923 +0.3%
classes.js — 10 unchanged · avg -0.5%
Benchmark Base (ops/sec) PR (ops/sec) Change
simple class new 75,395 75,186 -0.3%
class with defaults 57,302 57,229 -0.1%
50 instances via Array.from 79,040 79,369 +0.4%
instance method call 34,671 34,641 -0.1%
static method call 59,651 59,676 +0.0%
single-level inheritance 29,455 29,195 -0.9%
two-level inheritance 27,593 27,335 -0.9%
private field access 37,137 36,723 -1.1%
private methods 42,824 42,470 -0.8%
getter/setter access 38,968 38,399 -1.5%
closures.js — 11 unchanged · avg +0.0%
Benchmark Base (ops/sec) PR (ops/sec) Change
closure over single variable 57,374 56,930 -0.8%
closure over multiple variables 56,833 56,948 +0.2%
nested closures 61,964 61,651 -0.5%
function as argument 43,125 42,844 -0.7%
function returning function 57,015 57,075 +0.1%
compose two functions 35,148 34,908 -0.7%
fn.call 83,556 84,259 +0.8%
fn.apply 61,852 62,432 +0.9%
fn.bind 73,529 73,367 -0.2%
recursive sum to 50 5,030 5,070 +0.8%
recursive tree traversal 8,886 8,929 +0.5%
collections.js — 12 unchanged · avg -1.2%
Benchmark Base (ops/sec) PR (ops/sec) Change
add 50 elements 85,366 84,843 -0.6%
has lookup (50 elements) 67,438 66,527 -1.4%
delete elements 66,972 65,648 -2.0%
forEach iteration 82,930 81,956 -1.2%
spread to array 88,919 88,705 -0.2%
deduplicate array 56,890 56,743 -0.3%
set 50 entries 84,607 84,110 -0.6%
get lookup (50 entries) 65,203 63,769 -2.2%
has check 71,662 70,262 -2.0%
delete entries 65,492 63,958 -2.3%
forEach iteration 78,039 77,016 -1.3%
keys/values/entries 51,705 51,575 -0.3%
destructuring.js — 14 unchanged · avg +0.5%
Benchmark Base (ops/sec) PR (ops/sec) Change
simple array destructuring 182,990 186,101 +1.7%
with rest element 136,440 135,806 -0.5%
with defaults 185,000 190,491 +3.0%
skip elements 199,742 201,921 +1.1%
nested array destructuring 110,264 112,451 +2.0%
swap variables 217,622 220,297 +1.2%
simple object destructuring 138,950 138,603 -0.2%
with defaults 165,141 166,707 +0.9%
with renaming 162,519 163,522 +0.6%
nested object destructuring 84,799 84,410 -0.5%
rest properties 87,440 86,724 -0.8%
object parameter 52,410 52,583 +0.3%
array parameter 67,074 67,191 +0.2%
mixed destructuring in map 89,220 87,652 -1.8%
fibonacci.js — 3 unchanged · avg -0.8%
Benchmark Base (ops/sec) PR (ops/sec) Change
recursive fib(15) 138 138 -0.5%
recursive fib(20) 12 12 +0.0%
iterative fib(20) via reduce 66,441 65,070 -2.1%
json.js — 11 unchanged · avg -1.5%
Benchmark Base (ops/sec) PR (ops/sec) Change
parse simple object 121,802 121,590 -0.2%
parse nested object 75,351 74,570 -1.0%
parse array of objects 48,078 47,578 -1.0%
parse large flat object 50,142 49,533 -1.2%
parse mixed types 64,054 63,250 -1.3%
stringify simple object 99,703 98,601 -1.1%
stringify nested object 56,654 54,486 -3.8%
stringify array of objects 109,768 108,842 -0.8%
stringify mixed types 48,242 47,087 -2.4%
parse then stringify 37,660 37,046 -1.6%
stringify then parse 47,721 47,012 -1.5%
numbers.js — 11 unchanged · avg -1.6%
Benchmark Base (ops/sec) PR (ops/sec) Change
integer arithmetic 178,916 180,327 +0.8%
floating point arithmetic 201,138 202,415 +0.6%
number coercion 106,107 103,297 -2.6%
toFixed 73,171 72,423 -1.0%
toString 100,404 98,508 -1.9%
valueOf 133,284 130,967 -1.7%
toPrecision 94,243 92,215 -2.2%
Number.isNaN 157,932 152,642 -3.3%
Number.isFinite 151,117 148,114 -2.0%
Number.isInteger 155,399 151,144 -2.7%
Number.parseInt and parseFloat 140,944 138,144 -2.0%
objects.js — 7 unchanged · avg -0.6%
Benchmark Base (ops/sec) PR (ops/sec) Change
create simple object 227,915 225,467 -1.1%
create nested object 121,420 120,190 -1.0%
create 50 objects via Array.from 140,679 140,043 -0.5%
property read 103,497 103,616 +0.1%
Object.keys 72,948 72,833 -0.2%
Object.entries 47,664 47,051 -1.3%
spread operator 93,557 93,040 -0.6%
promises.js — 12 unchanged · avg -3.2%
Benchmark Base (ops/sec) PR (ops/sec) Change
Promise.resolve(value) 307,495 299,318 -2.7%
new Promise(resolve => resolve(value)) 121,107 118,211 -2.4%
Promise.reject(reason) 317,624 308,939 -2.7%
resolve + then (1 handler) 104,561 99,338 -5.0%
resolve + then chain (3 deep) 42,882 41,615 -3.0%
resolve + then chain (10 deep) 88,320 86,298 -2.3%
reject + catch + then 63,508 61,484 -3.2%
resolve + finally + then 55,993 54,566 -2.5%
Promise.all (5 resolved) 22,738 21,821 -4.0%
Promise.race (5 resolved) 23,877 22,951 -3.9%
Promise.allSettled (5 mixed) 18,363 17,893 -2.6%
Promise.any (5 mixed) 22,634 21,733 -4.0%
strings.js — 11 unchanged · avg -1.6%
Benchmark Base (ops/sec) PR (ops/sec) Change
string concatenation 250,189 248,008 -0.9%
template literal 245,751 247,242 +0.6%
string repeat 240,388 235,167 -2.2%
split and join 104,568 101,810 -2.6%
indexOf and includes 109,429 105,544 -3.6%
toUpperCase and toLowerCase 157,445 157,887 +0.3%
slice and substring 96,552 93,562 -3.1%
trim operations 115,292 116,722 +1.2%
replace and replaceAll 133,873 132,514 -1.0%
startsWith and endsWith 87,231 83,688 -4.1%
padStart and padEnd 124,460 121,865 -2.1%

Measured on ubuntu-latest x64. Changes within ±7% are considered insignificant.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.vscode/settings.json:
- Around line 4-6: The run-on-save command in the VSCode settings uses unquoted
variables ("${workspaceFolder}" and "${file}") so paths with spaces will break;
update the "command" value (the entry with "match": ".*\\.(pas|dpr)$" and
"runIn": "backend") to wrap both ${workspaceFolder} and ${file} in quotes when
calling ./format.pas (i.e., invoke "./format.pas" with "\"${workspaceFolder}\""
and "\"${file}\"" or equivalent quoting appropriate for JSON strings) so the
formatter path and target file are protected when paths contain spaces.

Comment thread .vscode/settings.json
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@frostney frostney merged commit 6cb8548 into main Feb 18, 2026
4 checks passed
@frostney frostney deleted the feat-workspace-settings branch February 18, 2026 20:32
@frostney frostney added the internal Refactoring, CI, tooling, cleanup label Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Refactoring, CI, tooling, cleanup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant