private void UpdateCurrentEditor()
        {
            var codeEditing = Editor.Instance.CodeEditing;

#if PLATFORM_WINDOW
            // Favor the newest Visual Studio
            for (int i = (int)CodeEditorTypes.VS2019; i >= (int)CodeEditorTypes.VS2008; i--)
            {
                var visualStudio = codeEditing.GetInBuildEditor((CodeEditorTypes)i);
                if (visualStudio != null)
                {
                    _currentEditor = visualStudio;
                    return;
                }
            }
#elif PLATFORM_LINUX
            // Favor the VS Code
            var vsCode = codeEditing.GetInBuildEditor(CodeEditorTypes.VSCode);
            if (vsCode != null)
            {
                _currentEditor = vsCode;
                return;
            }
#endif

            // Fallback default editor (always valid)
            _currentEditor = codeEditing.GetInBuildEditor(CodeEditorTypes.SystemDefault);
        }
Esempio n. 2
0
        /// <inheritdoc />
        public void OnRemoved(Editor editor)
        {
            _currentEditor = null;

            editor.CodeEditing.EditorAdded   -= OnEditorAdded;
            editor.CodeEditing.EditorRemoved -= OnEditorRemoved;
        }
Esempio n. 3
0
        private void OnEditorRemoved(ISourceCodeEditor editor)
        {
            if (editor != _currentEditor)
            {
                return;
            }

            UpdateCurrentEditor();
        }
Esempio n. 4
0
        private void OnEditorAdded(ISourceCodeEditor editor)
        {
            if (editor == this)
            {
                return;
            }

            UpdateCurrentEditor();
        }
Esempio n. 5
0
        private void UpdateCurrentEditor()
        {
            var codeEditing = Editor.Instance.CodeEditing;

            // Favor the newest Visual Studio
            for (int i = (int)CodeEditorTypes.VS2019; i >= (int)CodeEditorTypes.VS2008; i--)
            {
                var visualStudio = codeEditing.GetInBuildEditor((CodeEditorTypes)i);
                if (visualStudio != null)
                {
                    _currentEditor = visualStudio;
                    return;
                }
            }

            // Fallback default editor (always valid)
            _currentEditor = codeEditing.GetInBuildEditor(CodeEditorTypes.SystemDefault);
        }
Esempio n. 6
0
        private void UpdateCurrentEditor()
        {
            var codeEditing = Editor.Instance.CodeEditing;

            // Favor the newest Visual Studio
            for (int i = (int)ScriptsBuilder.InBuildEditorTypes.VS2017; i >= (int)ScriptsBuilder.InBuildEditorTypes.VS2008; i--)
            {
                var visualStudio = codeEditing.GetInBuildEditor((ScriptsBuilder.InBuildEditorTypes)i);
                if (visualStudio != null)
                {
                    _currentEditor = visualStudio;
                    return;
                }
            }

            // Fallback text editor (always valid)
            _currentEditor = codeEditing.GetInBuildEditor(ScriptsBuilder.InBuildEditorTypes.Text);
        }
        private void UpdateCurrentEditor()
        {
            var codeEditing = Editor.Instance.CodeEditing;
            var vsCode      = codeEditing.GetInBuildEditor(CodeEditorTypes.VSCode);
            var rider       = codeEditing.GetInBuildEditor(CodeEditorTypes.Rider);

#if PLATFORM_WINDOW
            // Favor the newest Visual Studio
            for (int i = (int)CodeEditorTypes.VS2019; i >= (int)CodeEditorTypes.VS2008; i--)
            {
                var visualStudio = codeEditing.GetInBuildEditor((CodeEditorTypes)i);
                if (visualStudio != null)
                {
                    _currentEditor = visualStudio;
                    return;
                }
            }
#elif PLATFORM_LINUX
            // Favor the VS Code
            if (vsCode != null)
            {
                _currentEditor = vsCode;
                return;
            }
#endif

            // Code editor fallback sequence
            if (vsCode != null)
            {
                _currentEditor = vsCode;
            }
            else if (rider != null)
            {
                _currentEditor = rider;
            }
            else
            {
                _currentEditor = codeEditing.GetInBuildEditor(CodeEditorTypes.SystemDefault);
            }
        }