Skip to content

Conversation

@UlyssesWu
Copy link

public override void OnGUI()
{
EditorGUILayout.LabelField("Roslyn Analyzer", EditorStyles.boldLabel);
DrawAnalyzerReferences();
}
private void DrawAnalyzerReferences()
{
var settings = CsprojModifierSettings.Instance;
if (RoslynAnalyzerUnityEditorNativeSupport.HasRoslynAnalyzerIdeSupport)
{
EditorGUILayout.HelpBox("The current code editor has Roslyn Analyzer IDE support. Roslyn Analyzers are enabled by Unity Editor.", MessageType.Info);
return;
}
settings.EnableAddAnalyzerReferences = EditorGUILayout.ToggleLeft("Add Roslyn Analyzer references to .csproj", settings.EnableAddAnalyzerReferences);
if (settings.EnableAddAnalyzerReferences)
{
using (new EditorGUILayout.VerticalScope(GUI.skin.box))
{
var analyzers = GetAnalyzers();
foreach (var analyzer in analyzers)
{
EditorGUILayout.LabelField(analyzer, EditorStyles.label);
}
}

It's VERY slow to invoke GetAnalyzers() in every OnGUI call, when the project is large.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant