Skip to content

Supports MonoDevelop.MSBuildEditor by creating a custom schema document. #136

@wherewhere

Description

@wherewhere

Description (optional)

With MSBuildEditor, we can have Quick Info and IntelliSense. It needs .buildschema.json for custom document. It will be better if we can create a document for the PolySharp.target.

PolySharp.target.buildschema.json

{
  "$schema": "https://github.com/mhutch/MonoDevelop.MSBuildEditor/raw/refs/heads/main/MonoDevelop.MSBuild/Schemas/buildschema.json",
  "properties": {
    "PolySharpUsePublicAccessibilityForGeneratedTypes": {
      "description": "Makes all generated types public",
      "type": "bool",
      "defaultValue": "false"
    },
    "PolySharpIncludeRuntimeSupportedAttributes": {
      "description": "Enables polyfills for (dummy) runtime-supported attributes too",
      "type": "bool",
      "defaultValue": "false"
    },
    "PolySharpUseInteropServices2NamespaceForUnmanagedCallersOnlyAttribute": {
      "description": "Moves [UnmanagedCallersOnly]",
      "type": "bool",
      "defaultValue": "false"
    },
    "PolySharpExcludeGeneratedTypes": {
      "description": "Excludes specific types from generation",
      "isList": true,
      "listSeparators": ";,",
      "type": { "$ref": "#/types/supportTypes" }
    },
    "PolySharpIncludeGeneratedTypes": {
      "description": "Only includes specific types for generation",
      "isList": true,
      "listSeparators": ";,",
      "type": { "$ref": "#/types/supportTypes" }
    },
    "PolySharpExcludeTypeForwardedToDeclarations": {
      "description": "Never generates any [TypeForwardedTo] declarations",
      "type": "bool",
      "defaultValue": "false"
    }
  },
  "types": {
    "supportTypes": {
      "values": {
        "System.Diagnostics.CodeAnalysis.AllowNullAttribute": "Specifies that null is allowed as an input even if the corresponding type disallows it.",
        "System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute": "Indicates that the specified method parameter expects a constant.",
        ...
      }
    }
  }
}

Rationale

Have the Documents and IntelliSense.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions