Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions vs-commitizen.Settings/vs-commitizen.Settings.csproj

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion vs-commitizen.Shared/Controls/TextBoxWithHint.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
Foreground="LightSteelBlue"
Visibility="{Binding ElementName=txtInputBox, Path=Text.IsEmpty, Converter={StaticResource MyBoolToVisibilityConverter}}"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
VerticalAlignment="Top" />
<!-- enter term here -->
<TextBox Name="txtInputBox" Background="Transparent" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
AcceptsReturn="{Binding Path=AcceptReturn, RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}}}"
Expand Down
46 changes: 40 additions & 6 deletions vs-commitizen.Shared/ViewModels/CommitizenViewModel.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
using Microsoft.TeamFoundation.MVVM;
using EnvDTE;
using EnvDTE80;
using Microsoft.TeamFoundation.MVVM;
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.PlatformUI;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
using System;
using System.Collections.Generic;
using System.ComponentModel;
Expand Down Expand Up @@ -162,11 +167,22 @@ public bool TeamExplorerMode
OnPropertyChanged();
}
}
#endregion

public CommitizenViewModel(IUserSettings userSettings, IConfigFileProvider configFileProvider)
private readonly IServiceProvider serviceProvider;
private readonly IConfigFileProvider configFileProvider;

private SolutionEvents solutionEvents;
private bool init;

#endregion

public CommitizenViewModel(IServiceProvider serviceProvider, IUserSettings userSettings, IConfigFileProvider configFileProvider)
{
_ = LoadCommitTypesAsync(configFileProvider);
this.serviceProvider = serviceProvider;
this.configFileProvider = configFileProvider;

_ = LoadCommitTypesAsync(this.configFileProvider);
_ = SubscribeToSolutionEventsAsync();

this.OnProceed = new RelayCommand(Proceed, CanProceed);
this.OnCopy = new RelayCommand(CopyMessage, CanProceed);
Expand All @@ -177,15 +193,33 @@ public CommitizenViewModel(IUserSettings userSettings, IConfigFileProvider confi
this.LineLength = this._userSettings.MaxLineLength;
}

private async Task LoadCommitTypesAsync(IConfigFileProvider configFileProvider)
private async Task SubscribeToSolutionEventsAsync()
{
if (!this.init)
{
await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
var asyncServiceProvider = serviceProvider.GetService(typeof(SAsyncServiceProvider)) as IAsyncServiceProvider;
var dte = await asyncServiceProvider?.GetServiceAsync(typeof(SDTE)) as DTE2;

this.solutionEvents = dte.Events.SolutionEvents;
this.solutionEvents.Opened += () =>
{
_ = LoadCommitTypesAsync(configFileProvider).ConfigureAwait(true);
};

this.init = true;
}
}

private async Task LoadCommitTypesAsync(IConfigFileProvider configFileProvider)
{
try
{
this.CommitTypes = (await configFileProvider.GetCommitTypesAsync<CommitType>()).ToList();
}
catch
{
this.CommitTypes = new List<CommitType>
this.CommitTypes = new List<CommitType>
{
new CommitType("feat", "A new feature"),
new CommitType("fix", "A bug fix"),
Expand Down
20 changes: 20 additions & 0 deletions vs-commitizen.Tests/packages.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.CodeCoverage" version="16.9.4" />
<package id="Microsoft.NET.Test.Sdk" version="16.9.4" />
<package id="Microsoft.TestPlatform.ObjectModel" version="16.9.4" />
<package id="Microsoft.TestPlatform.TestHost" version="16.9.4" />
<package id="NuGet.Frameworks" version="4.6.4" />
<package id="System.ComponentModel.EventBasedAsync" version="4.3.0" />
<package id="System.Diagnostics.Process" version="4.3.0" />
<package id="System.Diagnostics.StackTrace" version="4.3.0" />
<package id="System.Diagnostics.TextWriterTraceListener" version="4.3.0" />
<package id="System.Private.DataContractSerialization" version="4.3" />
<package id="System.Runtime.Serialization.Json" version="4.3" />
<package id="System.Threading.Thread" version="4.3.0" />
<package id="System.Threading.ThreadPool" version="4.3.0" />
<package id="System.Xml.XmlSerializer" version="4.3" />
<package id="System.Xml.XPath" version="4.3" />
<package id="System.Xml.XPath.XmlDocument" version="4.3" />
<package id="xunit.runner.visualstudio" version="2.3.1" />
</packages>
106 changes: 53 additions & 53 deletions vs-commitizen.Tests/vs-commitizen.Tests.csproj

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion vs-commitizen/Infrastructure/ConfigFileProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public async Task<IList<T>> GetCommitTypesAsync<T>() where T : class
lock (@lock)
{
var commitTypes = cache.GetCacheItem(cacheKey);
if (commitTypes != null) return (IList<T>)commitTypes.Value;
// if (commitTypes != null) return (IList<T>)commitTypes.Value;
}

try
Expand Down
18 changes: 8 additions & 10 deletions vs-commitizen/Infrastructure/FileAccessor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,38 +38,36 @@ public virtual StreamWriter CreateText(string filePath)

public virtual string ReadFile(string filePath)
{
return File.ReadAllText(filePath);
return File.ReadAllText(filePath, Encoding.UTF8);
}

public virtual string[] ReadFileLines(string filePath)
{
return File.ReadAllLines(filePath);
return File.ReadAllLines(filePath, Encoding.UTF8);
}

public virtual async Task<string> ReadFileAsync(string filePath)
{
using (var file = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read, 4096, true))
using (var reader = new StreamReader(file, Encoding.UTF8))
{
var buff = new byte[file.Length];
await file.ReadAsync(buff, 0, (int)file.Length);
return Encoding.Default.GetString(buff);
return await reader.ReadToEndAsync();
}
}

public virtual async Task WriteFileAsync(string filePath, string content)
{
var encodedText = Encoding.Default.GetBytes(content);

using (var sourceStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None, 4096, true))
using (var writer = new StreamWriter(sourceStream, Encoding.UTF8))
{
await sourceStream.WriteAsync(encodedText, 0, encodedText.Length);
};
await writer.WriteAsync(content);
}

}

public virtual void WriteFile(string filePath, string content)
{
File.WriteAllText(filePath, content);
File.WriteAllText(filePath, content, Encoding.UTF8);
}

public virtual FileAttributes GetAttributes(string filePath)
Expand Down
4 changes: 2 additions & 2 deletions vs-commitizen/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.0.1.2")]
[assembly: AssemblyFileVersion("1.0.1.2")]
[assembly: InternalsVisibleTo("vs-commitizen.Tests")]
2 changes: 1 addition & 1 deletion vs-commitizen/app.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>

Expand Down
90 changes: 43 additions & 47 deletions vs-commitizen/defaultConfigFile.json
Original file line number Diff line number Diff line change
@@ -1,49 +1,45 @@
{
"$schema": "https://raw.githubusercontent.com/MrLuje/vs-commitizen/master/config-schema.json",
"types": [
{
"type": "feat",
"description": "A new feature"
},
{
"type": "fix",
"description": "A bug fix"
},
{
"type": "docs",
"description": "Documentation only changes"
},
{
"type": "style",
"description": "Changes that do not affect the meaning of the code (formatting, etc)"
},
{
"type": "refactor",
"description": "A code change that neither fixes a bug nor adds a feature"
},
{
"type": "perf",
"description": "A code change that improves performance"
},
{
"type": "test",
"description": "Adding missing tests or correcting existing tests"
},
{
"type": "build",
"description": "Changes that affect the build system or external dependencies (example scopes: gulp, etc)"
},
{
"type": "ci",
"description": "Changes to our CI configuration files and scripts (example scopes: Travis, etc)"
},
{
"type": "chore",
"description": "Other changes that don't modify src or test files"
},
{
"type": "revert",
"description": "Reverts a previous commit"
}
]
"$schema": "https://raw.githubusercontent.com/MrLuje/vs-commitizen/master/config-schema.json",
"types": [
{
"type": "✨feat",
"description": "Select when creating new things"
},
{
"type": "🐞fix",
"description": "Select when fixing a bug"
},
{
"type": "📄docs",
"description": "Select when editing documentation"
},
{
"type": "🚀ci",
"description": "Select when editing CI scripts"
},
{
"type": "🖥️build",
"description": "Select when concerning build change or external dependencies"
},
{
"type": "⚙️refactor",
"description": "Select when no new performances or no new functionnality"
},
{
"type": "🌈style",
"description": "Select when working on code style"
},
{
"type": "⚡perf",
"description": "Select when working on performances"
},
{
"type": "⏪revert",
"description": "Select when going back"
},
{
"type": "🔵test",
"description": "Select when adding or editing tests"
}
]
}
Loading