WIP: Generate XML documentation from DocumentationAttribute for IDE IntelliSense #12
@@ -75,3 +75,16 @@ jobs:
|
||||
run: dotnet pack "./OmegaLeo.HelperLib.Shared/OmegaLeo.HelperLib.Shared.csproj" -c Release /p:Version=${{ inputs.tag_name }}
|
||||
- name: Publish to GitHub Packages
|
||||
run: dotnet nuget push ./OmegaLeo.HelperLib.Shared/bin/Release/OmegaLeo.HelperLib.Shared.${{ inputs.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate
|
||||
|
||||
publish-xml-lib:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup .Net Core
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- name: Create Nuget Package
|
||||
run: dotnet pack "./OmegaLeo.HelperLib.XmlDocGenerator/OmegaLeo.HelperLib.XmlDocGenerator.csproj" -c Release /p:Version=${{ inputs.tag_name }}
|
||||
- name: Publish to GitHub Packages
|
||||
run: dotnet nuget push ./OmegaLeo.HelperLib.XmlDocGenerator/bin/Release/OmegaLeo.HelperLib.XmlDocGenerator.${{ inputs.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Changelog\OmegaLeo.HelperLib.Changelog.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Git\OmegaLeo.HelperLib.Git.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,102 +0,0 @@
|
||||
// See https://aka.ms/new-console-template for more information
|
||||
|
||||
// /media/omegaleo/Development/Library Dev/HelperLib
|
||||
|
||||
using System.Reflection;
|
||||
using OmegaLeo.HelperLib.Extensions;
|
||||
using OmegaLeo.HelperLib.Helpers;
|
||||
using LibGit2Sharp;
|
||||
using OmegaLeo.HelperLib.Changelog.Tools;
|
||||
using OmegaLeo.HelperLib.Git;
|
||||
using OmegaLeo.HelperLib.Git.Models;
|
||||
|
||||
Console.WriteLine("Insert repo path to check changes:");
|
||||
var repo = Console.ReadLine();
|
||||
|
||||
if (repo.IsNullOrEmpty())
|
||||
{
|
||||
repo = "/media/omegaleo/Development/Library Dev/HelperLib";
|
||||
}
|
||||
|
||||
var git = new GitClient(repo);
|
||||
|
||||
var result = BenchmarkUtility.Record(() =>
|
||||
{
|
||||
var changes = git.GetChanges();
|
||||
|
||||
if (changes.FolderName.IsNotNullOrEmpty())
|
||||
{
|
||||
RecursiveOutput(new List<ChangeFolder>() { changes });
|
||||
|
||||
var option = 99;
|
||||
|
||||
while (option != 0)
|
||||
{
|
||||
ShowOptions();
|
||||
if (option != 99)
|
||||
{
|
||||
switch (option)
|
||||
{
|
||||
case 1:
|
||||
Console.WriteLine("Write the commit message");
|
||||
var msg = Console.ReadLine();
|
||||
|
||||
while (msg.IsNullOrEmpty())
|
||||
{
|
||||
Console.WriteLine("Empty message detected, please write a commit message...");
|
||||
msg = Console.ReadLine();
|
||||
}
|
||||
|
||||
var signature = new Signature("Nuno 'Omega Leo' Diogo", "nunodiogo@omegaleo.pt",
|
||||
DateTimeOffset.Now);
|
||||
git.Commit(msg, signature);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
git.Push();
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine("Invalid Option!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int.TryParse(Console.ReadLine(), out option);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("No changes found in specified repository");
|
||||
}
|
||||
});
|
||||
|
||||
Console.WriteLine($"Time for checking for changes: {result} ms");
|
||||
|
||||
Console.ReadLine();
|
||||
|
||||
|
||||
void RecursiveOutput(List<ChangeFolder> folders, int depth = 0)
|
||||
{
|
||||
foreach (var folder in folders)
|
||||
{
|
||||
Console.WriteLine($"{new string('\t', depth)}>{folder.FolderName}");
|
||||
if (folder.SubFolders.Any())
|
||||
{
|
||||
RecursiveOutput(folder.SubFolders, depth + 1);
|
||||
}
|
||||
|
||||
foreach (var change in folder.ChangesInFolder)
|
||||
{
|
||||
Console.WriteLine($"{new string('\t', depth + 1)}>{Path.GetFileName(change.Path)} ({change.Status})");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ShowOptions()
|
||||
{
|
||||
Console.Clear();
|
||||
Console.WriteLine(new string('=', 20));
|
||||
Console.WriteLine("What do you want to do in this repository?");
|
||||
Console.WriteLine("1. Commit all changes");
|
||||
Console.WriteLine("2. Push");
|
||||
}
|
||||
@@ -1,130 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using OmegaLeo.HelperLib.Extensions;
|
||||
using LibGit2Sharp;
|
||||
using OmegaLeo.HelperLib.Git.Models;
|
||||
|
||||
namespace OmegaLeo.HelperLib.Git
|
||||
{
|
||||
public class GitClient
|
||||
{
|
||||
private Repository _repo;
|
||||
|
||||
public GitClient(string path)
|
||||
{
|
||||
if (path.IsNullOrEmpty())
|
||||
{
|
||||
path = AppDomain.CurrentDomain.BaseDirectory;
|
||||
}
|
||||
|
||||
_repo = new Repository(path);
|
||||
}
|
||||
|
||||
public void CheckoutBranch(string branchName)
|
||||
{
|
||||
var branch = _repo.Branches[branchName];
|
||||
|
||||
if (branch == null)
|
||||
{
|
||||
branch = _repo.CreateBranch(branchName);
|
||||
}
|
||||
|
||||
Commands.Checkout(_repo, branch);
|
||||
}
|
||||
|
||||
public bool HasChanges() => _repo.Diff.Compare<TreeChanges>().Count > 0;
|
||||
|
||||
public ChangeFolder GetChanges()
|
||||
{
|
||||
var folder = new ChangeFolder();
|
||||
|
||||
if (HasChanges())
|
||||
{
|
||||
var changes = _repo.Diff.Compare<TreeChanges>();
|
||||
|
||||
var allChanges = new List<TreeEntryChanges>();
|
||||
allChanges.AddRange(changes.Added);
|
||||
allChanges.AddRange(changes.Modified);
|
||||
allChanges.AddRange(changes.Deleted);
|
||||
|
||||
var uniqueFolderPaths = allChanges.Select(x => Path.GetDirectoryName(x.Path)).Distinct();
|
||||
|
||||
foreach (var path in uniqueFolderPaths)
|
||||
{
|
||||
if (path.IsNullOrEmpty()) continue;
|
||||
|
||||
if (path.Contains(Path.DirectorySeparatorChar))
|
||||
{
|
||||
var paths = path.Split(Path.DirectorySeparatorChar);
|
||||
|
||||
for (var i = 0; i < paths.Length; i++)
|
||||
{
|
||||
var p = paths[i];
|
||||
|
||||
if (folder.FolderName.Equals(p))
|
||||
{
|
||||
if (folder.ChangesInFolder.Any()) continue;
|
||||
|
||||
folder.ChangesInFolder =
|
||||
allChanges.Where(x => Path.GetDirectoryName(x.Path)!.Equals(p, StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
else
|
||||
{
|
||||
var pathList = paths[0..(i+1)].ToList();
|
||||
var subFolder = folder.RecursiveGet(pathList);
|
||||
var fullPath = string.Join(Path.DirectorySeparatorChar, pathList);
|
||||
|
||||
if (!subFolder.ChangesInFolder.Any())
|
||||
{
|
||||
subFolder.ChangesInFolder = allChanges.Where(x =>
|
||||
Path.GetDirectoryName(x.Path)!.Equals(fullPath, StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
folder.FolderName = path;
|
||||
folder.ChangesInFolder =
|
||||
allChanges.Where(x => Path.GetDirectoryName(x.Path)!.Equals(path, StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return folder;
|
||||
}
|
||||
|
||||
public void Commit(string message, Signature author)
|
||||
{
|
||||
if (HasChanges())
|
||||
{
|
||||
var changes = _repo.Diff.Compare<TreeChanges>();
|
||||
var allChanges = new List<TreeEntryChanges>();
|
||||
allChanges.AddRange(changes.Added);
|
||||
allChanges.AddRange(changes.Modified);
|
||||
allChanges.AddRange(changes.Deleted);
|
||||
|
||||
var filePaths = allChanges.Select(x => x.Path).Where(x => x.IsNotNullOrEmpty());
|
||||
|
||||
Commands.Stage(_repo, filePaths);
|
||||
}
|
||||
|
||||
_repo.Commit(message, author, author);
|
||||
}
|
||||
|
||||
public void Push()
|
||||
{
|
||||
try {
|
||||
var remote = _repo.Network.Remotes["origin"];
|
||||
var options = new PushOptions();
|
||||
var pushRefSpec = @"refs/heads/master";
|
||||
_repo.Network.Push(remote, new string[] {pushRefSpec}, options);
|
||||
}
|
||||
catch (Exception e) {
|
||||
Console.WriteLine("Exception:RepoActions:PushChanges " + e.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LibGit2Sharp;
|
||||
|
||||
namespace OmegaLeo.HelperLib.Git.Models
|
||||
{
|
||||
public class ChangeFolder
|
||||
{
|
||||
public string FolderName { get; set; }
|
||||
public List<ChangeFolder> SubFolders { get; set; }
|
||||
public IEnumerable<TreeEntryChanges> ChangesInFolder { get; set; }
|
||||
|
||||
public ChangeFolder()
|
||||
{
|
||||
FolderName = "";
|
||||
SubFolders = new List<ChangeFolder>();
|
||||
ChangesInFolder = new List<TreeEntryChanges>();
|
||||
}
|
||||
|
||||
public ChangeFolder RecursiveGet(List<string> paths)
|
||||
{
|
||||
if (!paths.Any()) return null;
|
||||
|
||||
var tempPaths = paths;
|
||||
var pathToCheck = tempPaths.FirstOrDefault();
|
||||
|
||||
ChangeFolder folder = new ChangeFolder();
|
||||
|
||||
if (FolderName.Equals(pathToCheck, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
folder = this;
|
||||
}
|
||||
else if (SubFolders.Any(x => x.FolderName.Equals(pathToCheck)))
|
||||
{
|
||||
folder = SubFolders.FirstOrDefault(x => x.FolderName.Equals(pathToCheck))!;
|
||||
}
|
||||
else
|
||||
{
|
||||
folder.FolderName = pathToCheck;
|
||||
SubFolders.Add(folder);
|
||||
}
|
||||
|
||||
tempPaths.RemoveAt(0);
|
||||
|
||||
if (tempPaths.Any())
|
||||
{
|
||||
return folder.RecursiveGet(tempPaths);
|
||||
}
|
||||
else
|
||||
{
|
||||
return folder;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>OmegaLeo.HelperLib.Git</RootNamespace>
|
||||
<Version>0.0.2</Version>
|
||||
<Title>Omega Leo's Helper Library - LibGit2Sharp Implementation</Title>
|
||||
<Authors>Nuno "Omega Leo" Diogo</Authors>
|
||||
<PackageProjectUrl>https://github.com/omegaleo/HelperLib</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/omegaleo/HelperLib</RepositoryUrl>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="LibGit2Sharp" Version="0.30.0"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -9,7 +9,6 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Changelog\OmegaLeo.HelperLib.Changelog.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Game\OmegaLeo.HelperLib.Game.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Git\OmegaLeo.HelperLib.Git.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -42,4 +42,9 @@
|
||||
<None Include="buildMultiTargeting\OmegaLeo.HelperLib.XmlDocGenerator.targets" Pack="true" PackagePath="buildMultiTargeting\" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Pack the generator DLL into the analyzers folder -->
|
||||
<ItemGroup>
|
||||
<None Include="$(OutputPath)\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
using System.Reflection;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Loader;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib", "OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj", "{A7256931-5D66-46FA-BA50-22B2FA4CD9E9}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.Git", "OmegaLeo.HelperLib.Git\OmegaLeo.HelperLib.Git.csproj", "{A9579FFB-9A05-4EBF-B298-513C48FB0F91}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.ConsoleApp", "OmegaLeo.HelperLib.ConsoleApp\OmegaLeo.HelperLib.ConsoleApp.csproj", "{3B77B177-FD47-470A-B0EF-01EF8B30CE09}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.Changelog", "OmegaLeo.HelperLib.Changelog\OmegaLeo.HelperLib.Changelog.csproj", "{378D8125-66B5-42B8-9881-33F951E5E04A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.ChangelogHandler", "OmegaLeo.HelperLib.ChangelogHandler\OmegaLeo.HelperLib.ChangelogHandler.csproj", "{359536F7-02DE-43E9-A383-D83853227B0F}"
|
||||
@@ -60,30 +56,6 @@ Global
|
||||
{A7256931-5D66-46FA-BA50-22B2FA4CD9E9}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A7256931-5D66-46FA-BA50-22B2FA4CD9E9}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A7256931-5D66-46FA-BA50-22B2FA4CD9E9}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Release|x86.Build.0 = Release|Any CPU
|
||||
{378D8125-66B5-42B8-9881-33F951E5E04A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{378D8125-66B5-42B8-9881-33F951E5E04A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{378D8125-66B5-42B8-9881-33F951E5E04A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
OmegaLeo
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
|
||||
</project>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RiderProjectSettingsUpdater">
|
||||
<option name="singleClickDiffPreview" value="1" />
|
||||
<option name="unhandledExceptionsIgnoreList" value="1" />
|
||||
<option name="vcsConfiguration" value="3" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="ceea394f-e8d4-4740-8811-5a2e04f8668a" name="Changes" comment="" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="CopilotPersistence">
|
||||
<persistenceIdMap>
|
||||
<entry key="_/media/omegaleo/Development/Library Dev/HelperLib/OmegaLeo.HelperLib" value="39XkS7QO7RhDgjuWFpL5WzfrjxL" />
|
||||
</persistenceIdMap>
|
||||
</component>
|
||||
<component name="ProjectColorInfo"><![CDATA[{
|
||||
"associatedIndex": 6
|
||||
}]]></component>
|
||||
<component name="ProjectId" id="39XkS7QO7RhDgjuWFpL5WzfrjxL" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true"
|
||||
}
|
||||
}]]></component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<created>1770849800217</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1770849800217</updated>
|
||||
<workItem from="1770849800331" duration="1000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
|
||||
<option name="timeStamp" value="1" />
|
||||
</breakpoint>
|
||||
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
|
||||
<option name="timeStamp" value="2" />
|
||||
</breakpoint>
|
||||
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
|
||||
<option name="timeStamp" value="3" />
|
||||
</breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
</project>
|
||||
Reference in New Issue
Block a user