microsoft / microsoft/vscode-edge-devtools

CSS Mirror Editing with Sourcemaps: Known Issues and Feedback

Open
#965 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

feedback
Dominant language
TypeScript
Stars
827
Forks
358
Avg merge
20h 32m
Merged PRs (30d)
10

Description

This issue is where we will collect feedback specific to using CSS Mirroring with source-mapped files. Support for mirroring edits across source maps is a follow-up for #476 that enables using this feature with languages such as SASS or with CSS which gets bundled during build. See CSS Mirror Editing with Sourcemapped files (Sass, React...) for more details and a demo of how the feature works.

Testing Pre-requisites:

  • Edge 102.0.1216.0+
  • A build step that generates source maps for CSS
Known Issues
  1. Changes to selectors are not mirrored back to the original source file.

  2. New properties added at the end of the block don't indent correctly if a source map entry exists for the closing curly brace } (webpack + sass-loader behavior).

  3. New properties added at the end of the block get inserted before the last property of the block if no source map entry exists for the closing curly brace } (default sass CLI behavior).

  4. Creating/editing property names to use invalid characters (e.g. ```-``-`) can cause mapping to get out-of-sync.

  5. Inserting new properties into an empty block (e.g. after deleting all existing properties) inserts them before the selector if no source map entry exists for the closing curly brace } (default sass CLI behavior).

  6. Editing a selector in a single-line source block (e.g. .foo { color: #fff }) causes property edits in that block to be incorrect.

  7. Changes applied due to panel-level undo/redo (e.g. Ctrl+Z) don't get mirrored to original source (they do work if undoing while editing a property directly).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No implementation files, tests, or entry points are named. Reproduce the listed cases using Edge 102.0.1216.0+ and a CSS build step that generates source maps, then compare mirrored edits with the original source. Done means the listed selector, insertion, indentation, invalid-name, empty-block, single-line, and undo/redo cases stay synchronized.

Written by the indexing model from the issue text.

Assessment

Tech stack
sass, typescript, webpack
Domain
build-system, devtools, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.