Skip to content
Merged
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
45 changes: 45 additions & 0 deletions Nodejs/Product/Nodejs/Project/Attributes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,21 @@ public override string DisplayName {
}
}

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
internal sealed class ResourcesDisplayNameAttribute : DisplayNameAttribute {
string _name;

public ResourcesDisplayNameAttribute(string name) {
_name = name;
}

public override string DisplayName {
get {
return Resources.ResourceManager.GetString(_name);
}
}
}

[AttributeUsage(AttributeTargets.All)]
internal sealed class SRDescriptionAttribute : DescriptionAttribute {
private bool _replaced;
Expand All @@ -52,6 +67,25 @@ public override string Description {
}
}

[AttributeUsage(AttributeTargets.All)]
internal sealed class ResourcesDescriptionAttribute : DescriptionAttribute {
private bool _replaced;

public ResourcesDescriptionAttribute(string description)
: base(description) {
}

public override string Description {
get {
if (!_replaced) {
_replaced = true;
DescriptionValue = Resources.ResourceManager.GetString(base.Description);
}
return base.Description;
}
}
}

[AttributeUsage(AttributeTargets.All)]
internal sealed class SRCategoryAttribute : CategoryAttribute {
public SRCategoryAttribute(string category)
Expand All @@ -62,4 +96,15 @@ protected override string GetLocalizedString(string value) {
return SR.GetString(value);
}
}

[AttributeUsage(AttributeTargets.All)]
internal sealed class ResourcesCategoryAttribute : CategoryAttribute {
public ResourcesCategoryAttribute(string category)
: base(category) {
}

protected override string GetLocalizedString(string value) {
return Resources.ResourceManager.GetString(value);
}
}
}
90 changes: 45 additions & 45 deletions Nodejs/Product/Nodejs/Project/DependencyNodeProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,27 +37,27 @@ public override string GetClassName() {
: Resources.PropertiesClassLocalPackage;
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmPackageName)]
[SRDescriptionAttribute(SR.NpmPackageNameDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmPackageName))]
[ResourcesDescription(nameof(Resources.NpmPackageNameDescription))]
public string PackageName {
get {
return null == Package ? null : Package.Name;
}
}

[SRCategoryAttribute(SR.CategoryVersion)]
[SRDisplayName(SR.NpmPackageVersion)]
[SRDescriptionAttribute(SR.NpmPackageVersionDescription)]
[ResourcesCategory(nameof(Resources.CategoryVersion))]
[ResourcesDisplayName(nameof(Resources.NpmPackageVersion))]
[ResourcesDescription(nameof(Resources.NpmPackageVersionDescription))]
public string PackageVersion {
get {
return null == Package ? null : Package.Version.ToString();
}
}

[SRCategoryAttribute(SR.CategoryVersion)]
[SRDisplayName(SR.NpmPackageRequestedVersionRange)]
[SRDescriptionAttribute(SR.NpmPackageRequestedVersionRangeDescription)]
[ResourcesCategory(nameof(Resources.CategoryVersion))]
[ResourcesDisplayName(nameof(Resources.NpmPackageRequestedVersionRange))]
[ResourcesDescription(nameof(Resources.NpmPackageRequestedVersionRangeDescription))]
public string RequestedVersionRange {
get {
var range = null == Package ? null : Package.RequestedVersionRange;
Expand All @@ -66,9 +66,9 @@ public string RequestedVersionRange {
}

// TODO Retrieving the package information is currently too slow to include in properties pane.
//[SRCategoryAttribute(SR.CategoryVersion)]
//[SRDisplayName(SR.NpmPackageNewVersionAvailable)]
//[SRDescriptionAttribute(SR.NpmPackageNewVersionAvailableDescription)]
//[ResourcesCategory(nameof(Resources.CategoryVersion))]
//[ResourcesDisplayName(nameof(Resources.NpmPackageNewVersionAvailable))]
//[ResourcesDescription(nameof(Resources.NpmPackageNewVersionAvailableDescription))]
//public string NewVersionAvailable {
// get {
// if (IsSubPackage) {
Expand All @@ -92,18 +92,18 @@ public string RequestedVersionRange {
// }
//}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmPackageDescription)]
[SRDescriptionAttribute(SR.NpmPackageDescriptionDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmPackageDescription))]
[ResourcesDescription(nameof(Resources.NpmPackageDescriptionDescription))]
public string Description {
get {
return null == Package ? null : Package.Description;
}
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmPackageKeywords)]
[SRDescriptionAttribute(SR.NpmPackageKeywordsDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmPackageKeywords))]
[ResourcesDescription(nameof(Resources.NpmPackageKeywordsDescription))]
public string Keywords {
get {
if (null == Package) {
Expand All @@ -121,19 +121,19 @@ public string Keywords {
}
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmPackageAuthor)]
[SRDescriptionAttribute(SR.NpmPackageAuthorDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmPackageAuthor))]
[ResourcesDescription(nameof(Resources.NpmPackageAuthorDescription))]
public string Author {
get {
var author = null == Package ? null : Package.Author;
return null == author ? null : author.ToString();
}
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmPackagePath)]
[SRDescriptionAttribute(SR.NpmPackagePathDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmPackagePath))]
[ResourcesDescription(nameof(Resources.NpmPackagePathDescription))]
public string Path {
get {
return null == Package ? null : Package.Path;
Expand All @@ -150,9 +150,9 @@ internal bool IsSubPackage {
}
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmPackageType)]
[SRDescriptionAttribute(SR.NpmPackageTypeDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmPackageType))]
[ResourcesDescription(nameof(Resources.NpmPackageTypeDescription))]
public string PackageType {
get {
return IsSubPackage
Expand All @@ -162,9 +162,9 @@ public string PackageType {
}


[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmPackageLinkStatus)]
[SRDescriptionAttribute(SR.NpmPackageLinkStatusDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmPackageLinkStatus))]
[ResourcesDescription(nameof(Resources.NpmPackageLinkStatusDescription))]
public string LinkStatus {
get {
if (IsSubPackage) {
Expand All @@ -174,45 +174,45 @@ public string LinkStatus {
}
}

[SRCategoryAttribute(SR.CategoryStatus)]
[SRDisplayName(SR.NpmPackageIsListedInParentPackageJson)]
[SRDescriptionAttribute(SR.NpmPackageIsListedInParentPackageJsonDescription)]
[ResourcesCategory(nameof(Resources.CategoryStatus))]
[ResourcesDisplayName(nameof(Resources.NpmPackageIsListedInParentPackageJson))]
[ResourcesDescription(nameof(Resources.NpmPackageIsListedInParentPackageJsonDescription))]
public bool IsListedInParentPackageJson {
get {
return null != Package && Package.IsListedInParentPackageJson;
}
}

[SRCategoryAttribute(SR.CategoryStatus)]
[SRDisplayName(SR.NpmPackageIsMissing)]
[SRDescriptionAttribute(SR.NpmPackageIsMissingDescription)]
[ResourcesCategory(nameof(Resources.CategoryStatus))]
[ResourcesDisplayName(nameof(Resources.NpmPackageIsMissing))]
[ResourcesDescription(nameof(Resources.NpmPackageIsMissingDescription))]
public bool IsMissing {
get {
return null != Package && Package.IsMissing;
}
}

[SRCategoryAttribute(SR.CategoryStatus)]
[SRDisplayName(SR.NpmPackageIsDevDependency)]
[SRDescriptionAttribute(SR.NpmPackageIsDevDependencyDescription)]
[ResourcesCategory(nameof(Resources.CategoryStatus))]
[ResourcesDisplayName(nameof(Resources.NpmPackageIsDevDependency))]
[ResourcesDescription(nameof(Resources.NpmPackageIsDevDependencyDescription))]
public bool IsDevDependency {
get {
return null != Package && Package.IsDevDependency;
}
}

[SRCategoryAttribute(SR.CategoryStatus)]
[SRDisplayName(SR.NpmPackageIsOptionalDependency)]
[SRDescriptionAttribute(SR.NpmPackageIsOptionalDependencyDescription)]
[ResourcesCategory(nameof(Resources.CategoryStatus))]
[ResourcesDisplayName(nameof(Resources.NpmPackageIsOptionalDependency))]
[ResourcesDescription(nameof(Resources.NpmPackageIsOptionalDependencyDescription))]
public bool IsOptionalDependency {
get {
return null != Package && Package.IsOptionalDependency;
}
}

[SRCategoryAttribute(SR.CategoryStatus)]
[SRDisplayName(SR.NpmPackageIsBundledDependency)]
[SRDescriptionAttribute(SR.NpmPackageIsBundledDependencyDescription)]
[ResourcesCategory(nameof(Resources.CategoryStatus))]
[ResourcesDisplayName(nameof(Resources.NpmPackageIsBundledDependency))]
[ResourcesDescription(nameof(Resources.NpmPackageIsBundledDependencyDescription))]
public bool IsBundledDependency {
get {
return null != Package && Package.IsBundledDependency;
Expand Down
8 changes: 4 additions & 4 deletions Nodejs/Product/Nodejs/Project/NodejsFileNodeProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ internal NodejsIncludedFileNodeProperties(HierarchyNode node)
: base(node) {
}

[SRCategoryAttribute(SR.Advanced)]
[SRCategory(SR.Advanced)]
[LocDisplayName(SR.TestFramework)]
[SRDescriptionAttribute(SR.TestFrameworkDescription)]
[ResourcesDescription(nameof(Resources.TestFrameworkDescription))]
[TypeConverter(typeof(TestFrameworkStringConverter))]
public string TestFramework {
get {
Expand All @@ -51,9 +51,9 @@ internal NodejsLinkFileNodeProperties(HierarchyNode node)
: base(node) {
}

[SRCategoryAttribute(SR.Advanced)]
[SRCategory(SR.Advanced)]
[LocDisplayName(SR.TestFramework)]
[SRDescriptionAttribute(SR.TestFrameworkDescription)]
[ResourcesDescription(nameof(Resources.TestFrameworkDescription))]
[TypeConverter(typeof(TestFrameworkStringConverter))]
public string TestFramework {
get {
Expand Down
30 changes: 15 additions & 15 deletions Nodejs/Product/Nodejs/Project/NodejsProjectNodeProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ public uint TargetFramework {
}
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NodeExePath)]
[SRDescriptionAttribute(SR.NodeExePathDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NodeExePath))]
[ResourcesDescription(nameof(Resources.NodeExePathDescription))]
public string NodeExePath {
get {
return HierarchyNode.ProjectMgr.Site.GetUIThread().Invoke(() => {
Expand All @@ -72,9 +72,9 @@ public string NodeExePath {
}
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NodeExeArguments)]
[SRDescriptionAttribute(SR.NodeExeArgumentsDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NodeExeArguments))]
[ResourcesDescription(nameof(Resources.NodeExeArgumentsDescription))]
public string NodeExeArguments {
get {
return HierarchyNode.ProjectMgr.Site.GetUIThread().Invoke(() => {
Expand All @@ -88,9 +88,9 @@ public string NodeExeArguments {
}
}

[SRCategoryAttribute(SR.General)]
[SRCategory(SR.General)]
[SRDisplayName(SR.ScriptArguments)]
[SRDescriptionAttribute(SR.ScriptArgumentsDescription)]
[SRDescription(SR.ScriptArgumentsDescription)]
public string ScriptArguments {
get {
return HierarchyNode.ProjectMgr.Site.GetUIThread().Invoke(() => {
Expand All @@ -104,9 +104,9 @@ public string ScriptArguments {
}
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NodejsPort)]
[SRDescriptionAttribute(SR.NodejsPortDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NodejsPort))]
[ResourcesDescription(nameof(Resources.NodejsPortDescription))]
public int? NodejsPort {
get {
return HierarchyNode.ProjectMgr.Site.GetUIThread().Invoke((Func<int?>)(() => {
Expand All @@ -124,9 +124,9 @@ public int? NodejsPort {
}
}

[SRCategoryAttribute(SR.General)]
[SRCategory(SR.General)]
[SRDisplayName(SR.LaunchUrl)]
[SRDescriptionAttribute(SR.LaunchUrlDescription)]
[SRDescription(SR.LaunchUrlDescription)]
public string LaunchUrl {
get {
return HierarchyNode.ProjectMgr.Site.GetUIThread().Invoke(() => {
Expand All @@ -140,9 +140,9 @@ public string LaunchUrl {
}
}

[SRCategoryAttribute(SR.General)]
[SRCategory(SR.General)]
[SRDisplayName(SR.StartWebBrowser)]
[SRDescriptionAttribute(SR.StartWebBrowserDescription)]
[SRDescription(SR.StartWebBrowserDescription)]
public bool StartWebBrowser {
get {
return HierarchyNode.ProjectMgr.Site.GetUIThread().Invoke(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ internal NodejsTypeScriptFileNodeProperties(HierarchyNode node)
: base(node) {
}

[SRCategoryAttribute(SR.Advanced)]
[SRCategory(SR.Advanced)]
[LocDisplayName(SR.TestFramework)]
[SRDescriptionAttribute(SR.TestFrameworkDescription)]
[ResourcesDescription(nameof(Resources.TestFrameworkDescription))]
public string TestFramework {
get {
var framework = this.HierarchyNode.ItemNode.GetMetadata(SR.TestFramework);
Expand All @@ -50,9 +50,9 @@ internal NodejsTypeScriptLinkFileNodeProperties(HierarchyNode node)
: base(node) {
}

[SRCategoryAttribute(SR.Advanced)]
[SRCategory(SR.Advanced)]
[LocDisplayName(SR.TestFramework)]
[SRDescriptionAttribute(SR.TestFrameworkDescription)]
[ResourcesDescription(nameof(Resources.TestFrameworkDescription))]
public string TestFramework {
get {
var framework = this.HierarchyNode.ItemNode.GetMetadata(SR.TestFramework);
Expand Down
12 changes: 6 additions & 6 deletions Nodejs/Product/Nodejs/Project/NpmNodeProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,18 @@ public override string GetClassName() {
return Resources.PropertiesClassNpm;
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmNodePackageInstallation)]
[SRDescriptionAttribute(SR.NpmNodePackageInstallationDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmNodePackageInstallation))]
[ResourcesDescription(nameof(Resources.NpmNodePackageInstallationDescription))]
public string PackageInstallation {
get {
return Resources.PackageInstallationLocal;
}
}

[SRCategoryAttribute(SR.General)]
[SRDisplayName(SR.NpmNodePath)]
[SRDescriptionAttribute(SR.NpmNodePathDescription)]
[SRCategory(SR.General)]
[ResourcesDisplayName(nameof(Resources.NpmNodePath))]
[ResourcesDescription(nameof(Resources.NpmNodePathDescription))]
public string Path {
get {
var node = NpmNode;
Expand Down
Loading