OutSystems Developer Cloud (ODC) Custom Code Analyzer
⚡ Screenshot showing the development of an ODC External Library in Visual Studio. The ODC Custom Code Analyzer flags several rule violations in the Problems panel. A related Quick Fix menu is open for one rule violation, offering to "Fix this type mapping" so the field correctly matches its OverviewWhen you want to extend your ODC apps with custom C# code, you do so with the External Libraries SDK. This SDK allows you to write C# code that you can call from your ODC apps. Although IntelliSense in your IDE guides the available SDK decorators and their syntax, it does not guide the rules you must follow (for example, on naming and design decisions). This guidance is provided when uploading your project's built assembly to the ODC Portal, where you get feedback on rule violations. Using this component brings that feedback forward and gives you real-time feedback on compliance with the rules as you write the code. You also get real-time guidance on best practices and automatic fixes. Technical PrimerWhen you upload your project's built assembly to the ODC Portal, it does not have access to the underlying code—the ODC Portal checks compliance with the rules by reflecting on the assembly's metadata. This component, built from scratch, implements the rules using the rich code analysis APIs of Roslyn, the .NET compiler.
Code analysis phasesThe analyzer operates in two distinct phases, registered through the Roslyn
Code fixes for certain rulesWherever we can infer a single, unambiguous fix, we provide an automated code fix through the Roslyn
The code fix suggestions appear as "lightbulb" actions (or "quick actions") in your IDE. If you accept the fix, the analyzer modifies your source code to make it compliant with the respective rule. How to useVisual Studio 2022 (Enterprise, Pro and, Community editions)You can use the auto-updating extension from the Visual Studio Marketplace. Simply install the extension from the Visual Studio Marketplace.
If your project references the External Libraries SDK ( To ensure real-time feedback for compilation end phase rules (and not just at the point of build), you need to configure your Visual Studio's background analysis:
OthersAdd the NuGet package as a dev dependency to your ODC external libraries project:
If your project references the External Libraries SDK ( The NuGet package cannot be automatically updated—be sure to update regularly to get the latest features. Visual Studio CodeTo ensure real-time feedback for compilation end phase rules (and not just at the point of build), you need to configure your Visual Studio's background analysis:
TODOSee here. Feedback and contributionsPlease report bugs and feature requests here. Feel free to leave general feedback on the OutSystems Community Forum post. PRs are welcome. Code quality improvements, new features (especially those unassigned and listed here), and documentation improvements are all welcome 🤗 All changes to Analyzer code should pass all existing tests ( |