Skip to content

Conversation

@Artmann
Copy link
Contributor

@Artmann Artmann commented Dec 15, 2025

Fixes #218

Summary by CodeRabbit

  • New Features
    • Enhanced visibility: The notebook cell automatically centers in the viewport after navigating to a different dataframe page or changing the page size.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 15, 2025

📝 Walkthrough

Walkthrough

The changes enhance the dataframe controller to auto-reveal notebook cells after execution. When goToPage and selectPageSize handlers re-execute cells, the code now creates a NotebookRange for each affected cell and calls editor.revealRange() with NotebookEditorRevealType.InCenterIfOutsideViewport, centering the cell in the viewport if it's currently out of view.

Pre-merge checks

✅ 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 accurately describes the main change: adding auto-reveal behavior for notebook cells after dataframe operations (goToPage and selectPageSize) to keep them visible when size changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

@codecov
Copy link

codecov bot commented Dec 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0%. Comparing base (e1ec0a7) to head (a7d830e).

Additional details and impacted files
@@     Coverage Diff     @@
##   main   #251   +/-   ##
===========================
===========================
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between e1ec0a7 and a7d830e.

📒 Files selected for processing (1)
  • src/webviews/extension-side/dataframe/dataframeController.ts (3 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

**/*.{ts,tsx}: Use l10n.t() for all user-facing strings in TypeScript files
Use typed error classes from src/platform/errors/ instead of generic errors
Use ILogger service instead of console.log for logging
Preserve error details in error messages while scrubbing personally identifiable information (PII)
Prefer async/await over promise chains
Handle cancellation with CancellationToken

Order method, fields and properties first by accessibility (public/private/protected) and then by alphabetical order

Files:

  • src/webviews/extension-side/dataframe/dataframeController.ts
**/*.ts

📄 CodeRabbit inference engine (.github/instructions/typescript.instructions.md)

**/*.ts: ALWAYS check the 'Core - Build' task output for TypeScript compilation errors before running any script or declaring work complete
ALWAYS run npm run format-fix before committing changes to ensure proper code formatting
FIX all TypeScript compilation errors before moving forward with development
Use npm run format-fix to auto-fix TypeScript formatting issues before committing
Use npm run lint to check for linter issues in TypeScript files and attempt to fix before committing

Files:

  • src/webviews/extension-side/dataframe/dataframeController.ts
src/**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

src/**/*.{ts,tsx}: Don't add the Microsoft copyright header to new files
Use Uri.joinPath() for constructing file paths instead of string concatenation with / to ensure platform-correct path separators
Follow established patterns when importing new packages, using helper imports rather than direct imports (e.g., use import { generateUuid } from '../platform/common/uuid' instead of importing uuid directly)
Add blank lines after const groups and before return statements for readability
Separate third-party and local file imports

Files:

  • src/webviews/extension-side/dataframe/dataframeController.ts
🧬 Code graph analysis (1)
src/webviews/extension-side/dataframe/dataframeController.ts (1)
src/test/mocks/vsc/extHostedTypes.ts (1)
  • NotebookRange (2437-2467)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Package Lock Drift Check
  • GitHub Check: Audit - All
🔇 Additional comments (1)
src/webviews/extension-side/dataframe/dataframeController.ts (1)

7-8: New VS Code notebook imports look appropriate

NotebookEditorRevealType and NotebookRange are used correctly below to reveal the executing cell; no issues from a typing or usage standpoint.

Please confirm your minimum VS Code engine version supports these APIs (they’re fairly recent in the notebook API surface).

@Artmann Artmann marked this pull request as ready for review December 15, 2025 15:08
@Artmann Artmann requested a review from a team as a code owner December 15, 2025 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Changing number of rows displayed on dataframe output loses scroll position

2 participants