public void CompileFile(CodeProject project, CodeFile file) { Compiler.Instance.ApplyErrorsToRecent(); _errorsListView.ClearAllErrors(); //_errorsListView.ErrorsListContainter.Clear(); if (file == null || project == null || project.Files == null) { return; } // Тупо компилируем все файлы, какие есть foreach (CodeFile _file in project.Files) { if (_file.ErrorsList != null) { _file.ErrorsList.Clear(); } } file.Compile(); _errorsListView.AddErrorsCollection(file.ErrorsList); // Чтобы подсветить выделить ошибки _codeEditorView.Redraw(); Logger.LogWithBinding("Status_File_Compiled"); }
private void OnNewProjectCommand(object sender, ExecutedRoutedEventArgs e) { NewProjectWindow newProjectWindow = new NewProjectWindow() { Owner = this }; newProjectWindow.ShowDialog(); if (newProjectWindow.DialogResult.HasValue && newProjectWindow.DialogResult.Value) { // Закрыть предыдущий codeEditor.CloseAllTabs(); CodeProjectManager.Instance.CloseCurrent(); // Открыть новый string name = newProjectWindow.textBox1.Text; string path = newProjectWindow.comboBox2.Text; // Создаем директорию под него Directory.CreateDirectory(System.IO.Path.Combine(path, name)); string fileName = System.IO.Path.Combine(path, name, name + CodeProject.DefaultExtension); // Создаем новый CodeProjectManager.Instance.Current = CodeProject.MakeNew(fileName); // Сразу добавим новый файл OnAddNewFileCommand(sender, e); } }
public static CodeProject Load(string fileName) { CodeProject project = new CodeProject(fileName); project.LoadXML(); AddToRecentProjects(project); return(project); }
public static CodeProject MakeNew(string fileName) { CodeProject project = new CodeProject(fileName); AddToRecentProjects(project); project.WorkDirs.Add(System.IO.Path.GetDirectoryName(project.Path)); // По умолчанию, папка в которой проект - перваый рабочий каталог project.Save(); return(project); }
} // Для обновления имени private void CurrentProjectChanged(object sender, CurrentProjectChangedArgs propertyChangedEventChangedArgs) { // Отписаться от предыдущего if (propertyChangedEventChangedArgs.Old != null) { propertyChangedEventChangedArgs.Old.Files.CollectionChanged -= ProjectChanged; } Current = propertyChangedEventChangedArgs.New; // Подписаться на новый if (propertyChangedEventChangedArgs.New != null) { propertyChangedEventChangedArgs.New.Files.CollectionChanged += ProjectChanged; } UpdateTree(); }
private static void AddToRecentProjects(CodeProject project) { var recent = IDEState.Get().RecentProjects; // Проверить, есть ли уже такой, удалить если есть (потом все равно добавим) if (recent.IndexOf(project.Path) != -1) { recent.Remove(project.Path); } // Delete last while (recent.Count >= 10) { recent.RemoveAt(recent.Count - 1); } // Добавляем в начало recent.Insert(0, project.Path); }
public void Load(string path) { try { // Закрыть предыдущий if (Current != null) { CloseCurrent(); } // Открыть новый Current = CodeProject.Load(path); // Поставить фокус на проджект эксплорер //_mainWindowView.ActivateProjectExplorer(); Logger.LogWithBinding("Status_ProjectOpened"); } catch (ParsingProjectException ex) { ErrorWindow err = new ErrorWindow { ShortDesc = LocalString.Get("Error_OpenProject_short"), FullDesc = LocalString.Get("Error_OpenProject_full"), Exception = ex }; err.ShowDialog(); } catch (FileNotFoundException ex) { ErrorWindow err = new ErrorWindow { ShortDesc = LocalString.Get("Error_OpenProject_short"), FullDesc = LocalString.Get("Error_OpenProject_full"), Exception = ex }; err.ShowDialog(); } }
public void CloseCurrent() { try { if (Current != null) { Current.Close(); Current = null; Logger.LogWithBinding("Status_ProjectClosed"); } } catch (SaveProjectException ex) { ErrorWindow err = new ErrorWindow { ShortDesc = LocalString.Get("Error_CloseProject_short"), FullDesc = LocalString.Get("Error_CloseProject_full"), Exception = ex }; err.ShowDialog(); } }
protected override string GetPreview(string path) { return(CodeProject.GetPreview(path)); }
public CurrentProjectChangedArgs(CodeProject oldProject, CodeProject newProject) { Old = oldProject; New = newProject; }