コード例 #1
0
        /// <summary>
        /// Saves the set of groups.
        /// </summary>
        public void SaveGroups(IEnumerable <CodeSnippetGroup> groups)
        {
            lock (lockObj) {
                activeGroups = null;
                List <CodeSnippetGroup> modifiedGroups = new List <CodeSnippetGroup>();

                foreach (var group in groups)
                {
                    var defaultGroup = defaultSnippets.FirstOrDefault(i => i.Extensions == group.Extensions);

                    IEnumerable <CodeSnippet> saveSnippets = group.Snippets;

                    if (defaultGroup != null)
                    {
                        saveSnippets = group.Snippets.Except(defaultGroup.Snippets);
                    }

                    // save all groups, even if they're empty
                    var copy = new CodeSnippetGroup()
                    {
                        Extensions = group.Extensions
                    };
                    copy.Snippets.AddRange(saveSnippets);
                    modifiedGroups.Add(copy);
                }

                PropertyService.Set("CodeSnippets", modifiedGroups);
            }
        }
コード例 #2
0
        public CodeSnippet FindSnippet(string extension, string name)
        {
            CodeSnippetGroup g = FindGroup(extension);

            if (g != null)
            {
                return(g.Snippets.FirstOrDefault(s => s.Name == name));
            }
            return(null);
        }
コード例 #3
0
		void AddGroupButton_Click(object sender, RoutedEventArgs e)
		{
			string result = MessageService.ShowInputBox(
				"${res:Dialog.Options.CodeTemplate.AddGroupLabel}",
				"${res:Dialog.Options.CodeTemplate.EditGroupDialog.Text}",
				"");
			if (!string.IsNullOrEmpty(result)) {
				CodeSnippetGroup g = new CodeSnippetGroup();
				g.Extensions = result;
				groups.Add(g);
				extensionComboBox.SelectedItem = g;
			}
		}
コード例 #4
0
        void AddGroupButton_Click(object sender, RoutedEventArgs e)
        {
            string result = MessageService.ShowInputBox(
                "${res:Dialog.Options.CodeTemplate.AddGroupLabel}",
                "${res:Dialog.Options.CodeTemplate.EditGroupDialog.Text}",
                "");

            if (!string.IsNullOrEmpty(result))
            {
                CodeSnippetGroup g = new CodeSnippetGroup();
                g.Extensions = result;
                groups.Add(g);
                extensionComboBox.SelectedItem = g;
            }
        }
コード例 #5
0
        void EditGroupButton_Click(object sender, RoutedEventArgs e)
        {
            CodeSnippetGroup g = (CodeSnippetGroup)extensionComboBox.SelectedItem;

            if (g != null)
            {
                string result = MessageService.ShowInputBox(
                    "${res:Dialog.Options.CodeTemplate.EditGroupLabel}",
                    "${res:Dialog.Options.CodeTemplate.EditGroupDialog.Text}",
                    g.Extensions);
                if (!string.IsNullOrEmpty(result))
                {
                    g.Extensions = result;
                }
            }
        }
コード例 #6
0
 public CodeSnippetGroup(CodeSnippetGroup g)
 {
     this.Extensions = g.Extensions;
     this.Snippets.AddRange(g.Snippets.Select(s => new CodeSnippet(s)));
 }
コード例 #7
0
		public CodeSnippetGroup(CodeSnippetGroup g)
		{
			this.Extensions = g.Extensions;
			this.Snippets.AddRange(g.Snippets.Select(s => new CodeSnippet(s)));
		}