IC3 MonitoringAsCodeVS Code authoring assistant for Microsoft.IC3.MonitoringAsCode C# definitions. Current features:
More MonitoringAsCode authoring helpers will be added here over time. InstallFrom the Extensions view in VS Code, search for IC3 MonitoringAsCode and install. Or from the command line:
Marketplace listing: https://marketplace.visualstudio.com/items?itemName=IC3PlatformMonitoringAsCode.ic3-monitoringascode ActivationThe extension activates when you open a C# file in a workspace that contains a
|
| Field | Type | Description |
|---|---|---|
genevaSourcePath |
string | Path to the Geneva source folder containing Dashboards/ (and MonitorsV2/). May be absolute or relative to the .mac.json file. |
A relative path is preferred for the source-controlled .mac.json — it
encodes the team's expected sibling-checkout convention (here: the Geneva
repo cloned next to ic3_iac). Devs whose layout differs can drop a
.mac.local.json next to it with an absolute path, e.g.:
{
"genevaSourcePath": "D:/work/geneva/SkypeCoreBroker"
}
Use .mac.local.json for any per-developer overrides — in each directory
along the upward walk, .mac.local.json is checked before .mac.json, and
the first file found wins (no merging). It should be .gitignored.
Features
Dashboard link checker
Validates AddDashboardLink("…") calls in C# against the dashboard JSON tree
configured via genevaSourcePath in .mac.json.
You'll see:
- A red squiggle and
❌decoration on any path that doesn't resolve to a dashboard JSON file under the configured root. - A green
✅decoration when the path resolves. - Hover over the path to see the resolved dashboard file.
- Autocomplete inside the string literal to pick from known dashboards.
- A "Replace with: …" code action when the path differs only by case.
Toggle via ic3Mac.dashboardLinkChecker.enabled.
.LastModified()tself is configured via genevaSourcePath` in
.mac.json — see the Activation section above
When enabled, on save the extension rewrites the .LastModified("date", "author") argument with the current timestamp and the configured author.
Toggle via ic3Mac.autoUpdateLastModified; set the author via ic3Mac.author.
Configuration
Settings contributed under ic3Mac.*:
| Setting | Default | Description |
|---|---|---|
ic3Mac.dashboardLinkChecker.enabled |
true |
Enable dashboard link validation, hover info, autocomplete, and quick fixes. |
ic3Mac.autoUpdateLastModified |
false |
Automatically update .LastModified() timestamp and author on save. |
ic3Mac.author |
"" |
Author name for .LastModified() updates. Falls back to git config user.name. |
The dashboard root is read from .mac.json / .mac.local.json in the
workspace root. See the MonitoringAsCode docs for the schema.
Reporting issues
File a bug or feature request against the
ic3_iac repository.
Contributing
See CONTRIBUTING.md for build, debug, packaging, and publish instructions.