ReSharper.EnhancedTooltip 开源项目教程
1. 项目的目录结构及介绍
ReSharper.EnhancedTooltip 是一个用于增强 Visual Studio 中 ReSharper 工具提示功能的插件。项目的目录结构如下:
ReSharper.EnhancedTooltip/
├── src/
│ ├── EnhancedTooltip/
│ │ ├── Annotations/
│ │ ├── Resources/
│ │ ├── Settings/
│ │ ├── Tooltips/
│ │ ├── EnhancedTooltipPlugin.cs
│ │ ├── EnhancedTooltipSettings.cs
│ │ ├── EnhancedTooltipServiceProvider.cs
│ │ └── ...
│ ├── EnhancedTooltip.Tests/
│ │ ├── Tooltips/
│ │ └── ...
│ └── EnhancedTooltip.sln
├── .gitignore
├── LICENSE
├── README.md
└── ...
目录结构介绍
src/
:包含项目的源代码。EnhancedTooltip/
:核心插件代码。Annotations/
:包含代码注解相关文件。Resources/
:包含资源文件,如图标等。Settings/
:包含配置设置相关文件。Tooltips/
:包含工具提示增强的实现代码。EnhancedTooltipPlugin.cs
:插件的主入口点。EnhancedTooltipSettings.cs
:插件的配置设置类。EnhancedTooltipServiceProvider.cs
:服务提供者类。
EnhancedTooltip.Tests/
:包含单元测试代码。Tooltips/
:包含工具提示相关的测试代码。
EnhancedTooltip.sln
:Visual Studio 解决方案文件。
.gitignore
:Git 忽略文件配置。LICENSE
:项目许可证。README.md
:项目说明文档。
2. 项目的启动文件介绍
项目的启动文件是 EnhancedTooltipPlugin.cs
,它是插件的主入口点。该文件定义了插件的初始化和加载逻辑。
// EnhancedTooltipPlugin.cs
using JetBrains.Application.BuildScript.Application.Zones;
using JetBrains.ReSharper.Feature.Services.Daemon;
using JetBrains.ReSharper.Psi;
using JetBrains.ReSharper.Psi.CSharp;
using JetBrains.ReSharper.Psi.VB;
using JetBrains.ReSharper.Resources.Shell;
namespace EnhancedTooltip
{
[ZoneMarker]
public class ZoneMarker : IRequire<ILanguageCSharpZone>, IRequire<ILanguageVBZone>, IRequire<IDaemonZone>
{
}
[ShellComponent]
public class EnhancedTooltipPlugin
{
public EnhancedTooltipPlugin(EnhancedTooltipServiceProvider serviceProvider)
{
// 初始化逻辑
}
}
}
启动文件介绍
ZoneMarker
:定义了插件所需的依赖项。EnhancedTooltipPlugin
:插件的主类,负责初始化和加载插件。
3. 项目的配置文件介绍
项目的配置文件主要是 EnhancedTooltipSettings.cs
,它定义了插件的配置设置。
// EnhancedTooltipSettings.cs
using JetBrains.Application.Settings;
namespace EnhancedTooltip
{
[SettingsKey(typeof(EnvironmentSettings), "EnhancedTooltip settings")]
public class EnhancedTooltipSettings
{
[SettingsEntry(true, "Enable enhanced tooltips")]
public bool EnableEnhancedTooltips { get; set; }
[SettingsEntry(true, "Show type information")]
public bool ShowTypeInfo { get; set; }
[SettingsEntry(true, "Show parameter information")]
public bool ShowParameterInfo { get; set; }
}
}
配置文件介绍
EnhancedTooltipSettings
:定义了插件的配置设置类。EnableEnhancedTooltips
:是否启用增强工具提示。ShowTypeInfo
:是否显示类型信息。ShowParameterInfo
:是否显示参数信息。
通过这些配置项,用户可以根据自己的需求自定义工具提示的显示内容。