|
| Key | Action |
|---|---|
Ctrl+F / Cmd+F |
Focus the search box |
↑ ↓ ← → |
Navigate the image grid |
Home / End |
Jump to the first / last image |
Menu / Shift+F10 |
Open the context menu for the focused tile |
1 – 9 |
Switch to category by position (1 = All Images, 2 = first category, …) |
+ / = |
Zoom in |
- |
Zoom out |
0 |
Reset zoom to 100 % |
Ctrl+Scroll |
Zoom in / out with the mouse wheel |
F5 |
Reload images from the AL extension |
🧠 Requirements
The AL Language extension for Microsoft Dynamics 365 Business Central must be installed.
Note: This extension reads files from your local machine and must run on the local (UI) machine. It is not supported over remote connections (SSH, Dev Containers, WSL, etc.).
🧩 Repository
GitHub: Florian-Noever/al-actionimage-viewer
Bug reports and feature requests are welcome via Issues.
🛠️ Developer Notes
Project Architecture
The extension is made up of three layers:
| Layer | Technology | Purpose |
|---|---|---|
| VS Code extension | TypeScript, VS Code API | Activates the webview panel and sidebar, spawns the bridge binary, relays image data |
| Webview UI | Vue 3, Vite, @tanstack/vue-virtual, floating-vue, @vueuse/core |
Interactive image browser rendered inside the VS Code webview sandbox |
| Bridge binary | .NET 10, System.CommandLine |
Locates the AL Language extension DLL, reflects over it to extract image resources, and writes results to stdout as a custom binary payload |
Build Commands
# Compile the TypeScript extension
npm run compile
# Build the Vue webview bundle (outputs to public/)
npm run build:webview
# Compile extension in watch mode (default build task)
npm run watch
# Publish the C# bridge binary for all platforms into bin/ (needs PowerShell 7)
npm run publish:bridge
# Package the extension as a .vsix (publishes the bridge first)
npm run package
The bridge binaries for win32, linux and darwin are not committed: npm run publish:bridge builds them into bin/ locally, npm run package runs it before packaging, and CI builds them from the same publish profiles.
CI & Releases
CI runs on every push and pull request through the shared workflows of Florian-Noever/Florian-Noever. One job runs the bridge's unit tests and builds the bridge for all three platforms; a second one takes those binaries, runs the integration tests and packs a preview VSIX.
To release, bump the version with npm version x.y.z --no-git-tag-version, add a CHANGELOG entry, and publish a GitHub release vx.y.z from a commit whose CI is green. The publish workflow builds and tests the tag, attaches the VSIX to the release and publishes it to the Visual Studio Marketplace.
Debug Overlay
Press Ctrl+Shift+D (or Cmd+Shift+D) inside the webview to toggle a debug border overlay that visualises layout boundaries. A badge appears in the corner while the overlay is active.
📜 License
Licensed under the MIT License.
