Add keyboard shortcut support for raw cell type conversion #16955
+103
−16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements keyboard shortcut support for converting cells to raw type, addressing the missing functionality in the VS Code Jupyter extension. Previously, attempting to convert cells to raw type would throw a "Cell Type raw not implemented" error.
Changes Made
Core Functionality
jupyter.changeCellToRawcommand withctrl+; rkeybinding, following the existing pattern (ctrl+; cfor code,ctrl+; mfor markdown)changeCellToRaw()method in CodeWatcher class with proper telemetry supportchangeCellTo()method to handle conversions between all three cell types (code, markdown, raw) intelligentlyPattern Recognition
# %% [raw]cell markers using newPythonRawCellMarkerregex patternisRaw()method and updatedgetCellType()to properly detect raw cellsisCell()method to include raw cell detectionCell Generation
generateRawCell()function to create raw cells with proper metadatagenerateCells()function to handle raw cell generation in addition to code and markdown cellsInfrastructure
ChangeCellToRawevent trackingUsage
Users can now convert cells to raw type using the keyboard shortcut
ctrl+; rin Python files with#%%cell markers. Raw cells use the format:Testing
Added comprehensive unit tests for raw cell functionality:
getCellType()method returning correct typesThe implementation maintains backward compatibility and follows established patterns in the codebase.
Fixes #16158.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.