示例#1
0
        /// <summary>
        /// Initialize completion window for this instance of the text editor
        /// </summary>
        private void InitializeCompletionWindow(string wordContext)
        {
            if (_completionWindow != null || (wordContext.Length < 1))
            {
                return;
            }

            //Initialize code completion window
            _completionWindow = new EditorCompletionWindow(this);
            if (EditorCompletionWindow._editorCompletionList.Contains(wordContext))
            {
                EditorCompletionWindow._editorCompletionList?.SelectItem(wordContext);
            }
            var firstMatch = CompletionList.CompletionData.First(x => x.Text.StartsWith(wordContext));

            if (firstMatch != null && EditorCompletionWindow._editorCompletionList.ListBox != null)
            {
                int index = EditorCompletionWindow._editorCompletionList.ListBox.Items.IndexOf(firstMatch);
                EditorCompletionWindow._editorCompletionList.ListBox.SelectIndex(index);
            }

            _completionWindow.Show();
            _completionWindow.Closed += delegate
            {
                _completionWindow = null;
                EditorCompletionWindow._editorCompletionList?.SelectItem(string.Empty);
            };
        }
示例#2
0
        /// <summary>
        /// Initialize Code completion data
        /// </summary>
        public static void InitalizeCompletionData()
        {
            if (!EditorCompletionWindow.InitalizeCompletionData())
            {
                if (Settings.Default.invalidClasses == null)
                {
                    Settings.Default.invalidClasses = new StringCollection();
                }

                bool invalidFound = false;

                _classList = File.ReadAllLines($@"{Settings.Default.JdkPath}\jre\lib\classlist").Select(x => x.Replace("/", ".")).Where(x => !x.Contains("$") && !x.Contains("#") && !Settings.Default.invalidClasses.Contains(x));
                foreach (string item in _classList)
                {
                    try
                    {
                        if (item.Contains("lang"))
                        {
                            AddCompletionData(item);
                        }
                        else
                        {
                            AddCompletion_Data(item);
                        }
                    }
                    catch
                    {
                        Settings.Default.invalidClasses.Add(item);
                        invalidFound = true;
                    }
                }

                if (invalidFound)
                {
                    Settings.Default.Save();
                }
            }
        }