public override void FinalizePlugIn()
        {
            this.styleCopRunner.Dispose();
            this.styleCopRunner = null;

            base.FinalizePlugIn();
        }
        public override void InitializePlugIn()
        {
            base.InitializePlugIn();

            this.issuesFactory = new CodeIssueFactory();
            this.styleCopRunner = new StyleCopRunner();
        }
Exemple #3
0
        /// <summary>
        /// GUI
        /// </summary>
        private void OnGUI()
        {
            SetEvent();

            var targetPathList = new CodeCheckPath().TargetPathList;

            if (GUILayout.Button("Code Check"))
            {
                StyleCopRunner.ExcuteStyleCop(targetPathList);
            }

            GUILayout.Space(10);

            if (_resultDataList == null)
            {
                return;
            }

            _scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition);
            foreach (var data in _resultDataList)
            {
                EditorGUILayout.BeginHorizontal(GUI.skin.box);
                if (GUILayout.Button("Open", GUILayout.Width(40)))
                {
                    // Visual Studio for Mac では Line の対応を確認
                    // Mac 版の Rider は指定ファイルを開くのみ
                    UnityEditorInternal.InternalEditorUtility.OpenFileAtLineExternal(data.AssetDatabasePath,
                                                                                     data.Line);
                }

                EditorGUILayout.BeginVertical();
                GUILayout.Label(data.WarningType + data.AssetDatabasePath);
                GUILayout.Label(data.WarningMessage);
                EditorGUILayout.EndVertical();
                EditorGUILayout.EndHorizontal();
            }

            EditorGUILayout.EndScrollView();
        }