让Visual Studio更加Visual(可视化)

学术   2024-07-18 16:40   广东  

    无论是网页、桌面还是移动开发者,都经常与图像打交道。你会在C#、HTML、XAML、CSS、C++、VB、TypeScript,甚至代码注释中引用它们。有些图像是本地的,有些存在于网络或网络共享中,还有些仅以base64编码的字符串形式存在。我们在代码中以多种方式引用它们,但始终是以不展示图像外观的字符串值形式。但这一切,现在有了改变。

图像悬停预览:英雄登场

    最近,“图像悬停预览”这一功能请求备受关注,因此我们决定深入研究。虽然不同编辑器已有各种图像预览器,但它们的工作方式各不相同。如果我们要开发这一功能,必须确保它与Visual Studio融为一体,自然流畅。为此,我们发起了一项社区实验来探索解决方案。

    实验成果是一款在代码编辑器中显示的编辑器工具提示。该工具提示以原始大小显示图像,但宽度和高度均不超过500像素。在预览图像下方,你会看到图像的像素尺寸和文件大小(以字节为单位)。

实验参与者反响热烈

    实验参与者对这一功能表现出了极大的热情。以下是部分参与者的反馈:

关键问题待解

    在推进过程中,我们识别出几个需要解答的重要问题:

  1. 必须支持哪些图像文件格式?

  2. 哪些图像引用语法和格式最为常用?

  3. 哪些附加功能可能至关重要?

    实验帮助我们找到了这些问题的答案。接下来,让我们逐一探讨。

支持的文件类型

    实验参与者最常使用的图像文件类型(按顺序排列)包括:

  • PNG – 53%

  • JPG – 21%

  • SVG – 15%

  • ICO – 4%

  • WebP – 4%

  • GIF – 2%

  • 其他文件类型如BMP、TIFF、DDS等

    值得注意的是,SVG是唯一一个WPF不直接支持的格式,因此我们需要将其转换为WPF能够渲染的位图格式。这也是为什么SVG支持尚未纳入此功能的原因。不过,我们仍在努力寻找最佳解决方案,以便在未来版本中提供更全面的支持。

引用语法

    引用图像的方式多种多样,主要取决于所使用的语言和应用程序模型。从实验中我们观察到的最常见的方式包括:

  • 相对URL(./, ../, 和 /)

  • 文件路径(c:, c:/, , 和 /)

  • 数据URI(data:image/png;base64,…)

  • 包URI(pack://application:,,,/Images/MyImage.png)

  • 图像图标(KnownMonikers.StatusWarning)

附加功能

    除了简单地显示图像预览外,社区还提出了两个附加功能。

  • 预览缩放:这是一个很酷的功能,值得我们在未来的更新中进一步探索。然而,目前它不在我们的计划范围内。

  • 点击预览图像打开:这个想法是用户应该能够点击预览图像,以便在其默认图像查看器应用程序中打开它。这个功能很容易添加,所以我们已经实现了它。

    这就是图像悬停预览功能如何融入Visual Studio的故事。要亲自尝试此功能,请安装最新版本的Visual Studio 2022(v17.10或更高版本)并试用它。

文章链接:

https://devblogs.microsoft.com/visualstudio/making-visual-studio-a-bit-more-visual/

控制工程研习
好好学习,天天向上
 最新文章