1 item
Extension for SAS Studio A browser extension that adds many tools and UX fixes for SAS Studio 3.8. ## Usage 1. Open SAS Studio and let it fully load 2. Click the extension icon to open the popup, then "Toggle Ace editor" (or press **Ctrl+Period** directly) to toggle Ace on 3. Click again (or Ctrl+Period again) to toggle back to the original editor 4. Use the popup's "Command palette…" button (**Alt+Shift+P**, or bind the `command_palette` command in options page) for quick actions (reload file, focus tree, close tab, ...) and, when an Ace editor is focused, that editor's own commands 5. Use the options page (link in the popup, or right-click the icon → Options) to turn UX patches on/off, rebind hotkeys, or edit custom SAS snippets ## Ace editor configuration `chrome.storage.local.aceConfig` (`{ darkTheme, lightTheme, options: { ... }, vimrc }`, default in `defaults.js`'s `DEFAULT_ACE_CONFIG`) is the single source of truth for every Ace editor's defaults — the SAS Studio code editor, the text-viewer overlay, and the options page's snippet editor. Theme is the one exception: it's always a `darkTheme`/`lightTheme` pair chosen from the options page (auto-switched by OS `prefers-color-scheme`, matching the existing behavior) — the panel's single "theme" option can't express a pair, so a theme change made there is deliberately not persisted. ### Ace vim keybinding config `aceConfig.vimrc` is a small subset of vim config, applied to the shared `ace/keyboard/vim` module (only takes effect once Vim is the active keyboard handler): one mapping per line, `"` starts a comment, blank lines are skipped. Supported: `map`/`nmap`/`imap`/`vmap <lhs> <rhs>`, the `noremap` variants (non-recursive), and `unmap`/`nunmap`/`iunmap`/`vunmap <lhs>`. Anything else is skipped with a console warning. Removing a line doesn't undo that mapping until the page is reloaded.
Aug 10, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.