Aptivi - Manual
ProjectsWebsiteBlog
Nitrocid KS - Manual
Nitrocid KS - Manual
  • Welcome!
  • Versions and Compatibility
    • Supported Versions
    • EOL Versions
    • Version Release Notes
      • v0.0.1.x series
      • v0.0.2.x series
      • v0.0.3.x series
      • v0.0.4.x series
      • v0.0.5.x series
        • v0.0.5.0 Beta Versions
      • v0.0.6.x series
        • v0.0.6.0 Beta Versions
      • v0.0.7.x series
        • v0.0.7.0 Beta Versions
      • v0.0.8.x series
      • v0.0.9.x series
      • v0.0.10.x series
      • v0.0.11.x series
      • v0.0.12.x series
      • v0.0.13.x series
      • v0.0.14.x series
      • v0.0.15.x series
      • v0.0.16.x series
      • v0.0.17.x series
      • v0.0.18.x series
      • v0.0.19.x series
      • v0.0.20.x series
      • v0.0.21.x series
      • v0.0.22.x series
      • v0.0.23.x series
      • v0.0.24.x series
      • v0.1.0.x and 0.1.1.x series
      • v0.1.2.x and v0.1.3.x series
    • Compatibility Notes for KS API Revisions
      • Upgrading to API v1.0 series
      • Upgrading to API v1.1 series
      • Upgrading to API v1.2 series
      • Upgrading to API v1.3 series
      • Upgrading to API v2.0 series
      • Upgrading to API v2.1 series
      • Upgrading to API v3.0 series
        • From 0.0.24.x to 0.1.0 Beta 1
        • From 0.1.0 Beta 1 to 0.1.0 Beta 2
        • From 0.1.0 Beta 2 to 0.1.0 Beta 3
        • From 0.1.0 Beta 3 to 0.1.0 RC
        • From 0.1.0 RC to 0.1.0 Final
      • Upgrading to API v3.1 series
  • Installation and Maintenance
    • Installing the Kernel
      • Windows
      • macOS
      • Linux
      • Android
    • Upgrading the Kernel
      • Windows
      • macOS
      • Linux
      • Android
    • Dependency Information
  • Fundamentals
    • What is the Kernel?
    • What is Nitrocid KS?
    • Simulated Kernel Features
      • Extra Features
        • More Networking
          • FTP Client
          • SSH Connection
          • SFTP Client
          • RSS Client
          • HTTP Client
          • Mail Client
        • Games and Amusements
          • Hangman
          • BackRace
          • Meteor
          • Pong
          • Russian Roulette
          • ShipDuet
          • Snaker
          • Solver
          • SpeedPress
          • Wordle
        • More Editors
          • JSON Editor
          • SQL Editor
        • Common Programs
          • Archive
          • Caffeine
          • Calendar
          • Calculator
          • Contacts
          • Dictionary
          • Git Shell
          • Notes
          • Stocks
          • Timers
          • To-do List
          • Unit Converter
          • Weather
        • Docking
        • Language Studio
        • Theme Studio
      • Accounts
        • Groups
        • Permissions
      • Editors
        • Text Editor
        • Hex Editor
      • Shells
        • Commands List
        • Addon Commands List
      • Files and Folders
        • Hashing and Encryption
      • The Nitrocid Homepage
      • Networking
      • Localization
      • Screensavers
      • Lockscreen Widgets
      • Audio Cues
  • Advanced and Power Users
    • Building the Kernel
      • Building on Windows
      • Building on macOS
      • Building on Linux
      • Building on Android
    • Kernel Modifications
      • Building your Mod
      • Analyzing your Mod
        • Text - NKS0001
        • ConsoleBase - NKS0002
        • ConsoleBase - NKS0003
        • ConsoleBase - NKS0004
        • ConsoleBase - NKS0005
        • ConsoleBase - NKS0006
        • ConsoleBase - NKS0007
        • ConsoleBase - NKS0008
        • ConsoleBase - NKS0009
        • Files - NKS0010
        • Files - NKS0011
        • Files - NKS0012
        • Files - NKS0013
        • Files - NKS0014
        • Files - NKS0015
        • Files - NKS0016
        • Files - NKS0017
        • Files - NKS0018
        • Files - NKS0019
        • Files - NKS0020
        • Files - NKS0021
        • Files - NKS0022
        • Files - NKS0023
        • Kernel - NKS0024
        • Kernel - NKS0025
        • Kernel - NKS0026
        • Kernel - NKS0027
        • Kernel - NKS0031
        • Kernel - NKS0032
        • Kernel - NKS0033
        • Kernel - NKS0037
        • Kernel - NKS0038
        • Kernel - NKS0039
        • Kernel - NKS0040
        • Kernel - NKS0041
        • Kernel - NKS0042
        • Kernel - NKS0043
        • Kernel - NKS0052
        • Kernel - NKS0053
        • Languages - NKS0044
        • Languages - NKS0045
        • Languages - NKS0046
        • Network - NKS0051
        • Text - NKS0047
        • Text - NKS0048
        • Text - NKS0049
        • Text - NKS0050
        • Text - NKS0054
        • Text - NKS0055
      • Managing your Mod
        • Inter-Mod Communication
        • Inter-Addon Communication
    • Diagnostics
      • Debugging
        • Local Debugging
        • Remote Debugging
      • Testing
      • Other Diagnostics
    • Bootloader
      • Boot Choices
      • Kernel Environments
      • Custom Boot Styles
    • Inner Workings
      • Kernel Settings
        • Mechanics of Settings App
        • Settings Format
        • Custom Settings
      • Shell Structure
        • Help System
        • Command Parsing
        • Command Information
        • Command Switches
        • Shell History
        • Shell Scripting
        • Shell Presets
        • Extra Shell Features
      • Multilingual Kernel
        • Locale Tools
        • Custom Languages
      • Inner Essentials
        • Kernel Drivers
          • Console Drivers
          • Debug Logger Drivers
          • Encoding Drivers
          • Encryption Drivers
          • Filesystem Drivers
          • Hardware Prober Drivers
          • Input Drivers
          • Network Drivers
          • RNG Drivers
          • Regular Expression Drivers
          • Sorting Drivers
        • Kernel Placeholders
        • The Permissions
        • The Users
        • Kernel Threads
        • Kernel Arguments
        • Kernel Journaling
        • Remote Procedure
        • Nitrocid Filesystem
        • Screensaver Internals
        • Splash Internals
        • Kernel Platform
        • Theme Internals
        • Color Internals
        • Privacy Consents
        • System Notifications
        • MAL and MOTD
        • Progress Handlers
        • Assembly Signing
        • Assembly Reflection
        • Random Number Generation
        • Network Tools
        • Date and Time
        • Mod Manual Pages
      • Miscellaneous APIs
  • Project Dependencies
  • Report an issue
  • Source code
  • API Reference
Powered by GitBook
On this page
  • Installation
  • Visual Studio
  • Standalone Analyzer
  • Diagnostics
Edit on GitHub
  1. Advanced and Power Users
  2. Kernel Modifications

Analyzing your Mod

Here's a list of analyzer diagnostics.

Last updated 10 months ago

Analyzers, in .NET, are tools that allow you to check the quality of your code and to fix common design pitfalls in your code. These fixes typically tailor the use of better features or the removal of unnecessary code.

Similarly, we provide you with analyzers that detect the usage of non-Nitrocid methods and classes and provide you fixes that make use of Nitrocid methods and classes as good alternatives. These analyzers are applicable only to Nitrocid mods.

We provide you two types of analyzers for your Nitrocid mods:

  • NuGet-based analyzers: They analyze your mods while you're working on them in .NET IDEs.

  • Standalone analyzers: They analyze your mod code outside Visual Studio.

In this page, we'll give you instructions on how to install such analyzers. Choose the analyzer type based on your preferences.

Installation

There are two types of Nitrocid analyzers as highlighted above. This section shows you how to analyze your code with either the NuGet analyzer package or the standalone analyzer. The mod analyzer package found in the release contains both the standalone analyzer and the NuGet-based analyzer.

Visual Studio

In order to install the NuGet-based analyzer for Nitrocid mods on Visual Studio, follow the below steps:

  1. Open Visual Studio 2022 to a solution of your choice and open Manage NuGet packages on a project you want to analyze.

  2. Search for Nitrocid.Analyzers

  3. Install the package

  4. Start working on your mod, and you'll see NKS analyzers.

Standalone Analyzer

In case you can't use NuGet-based analyzer for your mods, you can use the standalone analyzer. To use it, follow the steps:

  1. Open the command prompt

  2. Go to the directory where the standalone analyzer is located. Use cd to change the directory.

  3. Run dotnet Nitrocid.StandaloneAnalyzer.dll path/to/mod.sln

Diagnostics

The following code analyzers are shipped, with links to each page:

Currently, there are no analyzers which generate errors yet. However, we'll plan to add more analyzers.

The following analyzers generate warnings:

Diag. ID
Page

NKS0001

Text - NKS0001

NKS0002

ConsoleBase - NKS0002

NKS0003

ConsoleBase - NKS0003

The following analyzers generate suggestions that are shown under the Messages section of the Errors List on your Visual Studio:

Diag. ID
Page

NKS0004

ConsoleBase - NKS0004

NKS0005

ConsoleBase - NKS0005

NKS0006

ConsoleBase - NKS0006

NKS0007

ConsoleBase - NKS0007

NKS0008

ConsoleBase - NKS0008

NKS0009

ConsoleBase - NKS0009

NKS0010

Files - NKS0010

NKS0011

Files - NKS0011

NKS0012

Files - NKS0012

NKS0013

Files - NKS0013

NKS0014

Files - NKS0014

NKS0015

Files - NKS0015

NKS0016

Files - NKS0016

NKS0017

Files - NKS0017

NKS0018

Files - NKS0018

NKS0019

Files - NKS0019

NKS0020

Files - NKS0020

NKS0021

Files - NKS0021

NKS0022

Files - NKS0022

NKS0023

Files - NKS0023

NKS0024

Kernel - NKS0024

NKS0025

Kernel - NKS0025

NKS0026

Kernel - NKS0026

NKS0027

Kernel - NKS0027

NKS0031

Kernel - NKS0031

NKS0032

Kernel - NKS0032

NKS0033

Kernel - NKS0033

NKS0037

Kernel - NKS0037

NKS0038

Kernel - NKS0038

NKS0039

Kernel - NKS0039

NKS0040

Kernel - NKS0040

NKS0041

Kernel - NKS0041

NKS0042

Kernel - NKS0042

NKS0043

Kernel - NKS0043

NKS0052

Kernel - NKS0052

NKS0053

Kernel - NKS0053

NKS0044

Languages - NKS0044

NKS0045

Languages - NKS0045

NKS0046

Languages - NKS0046

NKS0051

Network - NKS0051

NKS0047

Text - NKS0047

NKS0048

Text - NKS0048

NKS0049

Text - NKS0049

NKS0050

Text - NKS0050

NKS0054

Text - NKS0054

NKS0055

Text - NKS0055

It's vital to follow the analyzer recommendations to get the best mod code according to the standards.