protected override void OnBeforePerformingCommand(BeforePerformingCommandEventArgs e) { switch (e.Key) { case "ExportProjectToJson": { e.Handled = true; FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog(); if (folderBrowserDialog.ShowDialog() == DialogResult.OK) { var prefix = folderBrowserDialog.SelectedPath; String name = Program.ActiveProjectShell.Project.Name; prefix = prefix + "\\CitaviExport_" + name; System.IO.Directory.CreateDirectory(prefix); //System.IO.Directory.CreateDirectory(prefix + "\\Categories"); Categories.Export(prefix); //System.IO.Directory.CreateDirectory(prefix + "\\Keywords"); Keywords.Export(prefix); //System.IO.Directory.CreateDirectory(prefix + "\\KnowledgeItems"); KnowledgeItems.Export(prefix); //System.IO.Directory.CreateDirectory(prefix + "\\Papers"); Papers.Export(prefix); System.IO.Directory.CreateDirectory(prefix + "\\Files"); String log = Pdfs.Export(prefix); System.Windows.Forms.MessageBox.Show("Done exporting.", "Finished"); using (System.IO.StreamWriter file = new System.IO.StreamWriter(prefix + "\\log.txt", true)) { file.WriteLine(log); } } } break; } base.OnBeforePerformingCommand(e); }