static public string generate(IProject project, LibManager libManager, SetupData setup) { var tasklist = new List <Task>(); tasklist.Add(new Task() { label = "Build (Arduino Builder)", group = new Group(), command = Path.Combine(setup.arduinoBase, "arduino-builder").Replace('\\', '/'), args = new List <string> { "-verbose=0", "-logger=human", "-debug-level=0", $"-hardware={setup.arduinoBase}\\hardware".Replace('\\', '/'), "'-build-path=${workspaceFolder}/.vsTeensy/build'", $"-tools={setup.arduinoBase}\\tools-builder".Replace('\\', '/'), $"-tools={setup.arduinoBase}\\hardware\\tools\\avr".Replace('\\', '/'), $"-fqbn={project.selectedConfiguration.selectedBoard.fqbn}", $"-libraries={Path.Combine(setup.arduinoBase, "hardware", "teensy", "avr", "libraries")}".Replace('\\', '/'), $"-libraries={Path.Combine(setup.arduinoBase ,"libraries")}".Replace('\\', '/'), $"-libraries={Path.Combine(Helpers.getSketchbookFolder() ,"libraries")}".Replace('\\', '/'), $"{project.name}.ino" } }); tasklist.Add(new Task() { label = "Upload (PJRC)", group = new Group(), command = $"{setup.arduinoTools}/teensy_post_compile.exe".Replace('\\', '/'), args = new List <string> { $"-test", $"-reboot", "'-path=${workspaceFolder}/.vsTeensy/build'", $"-board={project.selectedConfiguration.selectedBoard.id}", $"-tools={setup.arduinoTools}".Replace('\\', '/'), $"-file='{project.name}.ino'", }, }); var tasks = new tasksJson { tasks = tasklist, presentation = new Presentation() }; return(JsonConvert.SerializeObject(tasks, Formatting.Indented)); }
private string generateTasksFile() { if (setup.makeExePathError != null) { return(null); } string makePath = setup.makeExePath; var tasks = new tasksJson() { presentation = new Presentation(), tasks = new List <Task>() { new Task() { label = "Build", group = new Group(), command = makePath.Replace('\\', '/'), args = new List <string> { "all", "-j", "-Otarget" }, }, new Task() { label = "Rebuild User Code", group = new Group(), command = makePath.Replace('\\', '/'), args = new List <string> { "rebuild", "-j", "-Otarget" }, }, new Task() { label = "Clean", group = new Group(), command = makePath.Replace('\\', '/'), args = new List <string> { "clean" }, }, new Task() { label = "Upload (Teensy Uploader)", group = new Group(), command = makePath.Replace('\\', '/'), args = new List <string> { "upload", "-j", "-Otarget" }, } , new Task() { label = "Upload (TyCommander)", group = new Group(), command = makePath.Replace('\\', '/'), args = new List <string> { "uploadTy", "-j", "-Otarget" }, } } }; var json = new JavaScriptSerializer(); return(FileHelpers.formatOutput(json.Serialize(tasks))); }