我正在使用 Google Chrome,我想在浏览器中以文本形式打开.c
文件.cpp
。有什么方法可以做到这一点吗?
答案1
恐怕这是不可能的。由于这些文件是 Gmail 邮件中的附件,因此必须在 Gmail 网络应用程序中有一个查看器才能查看它们。它没有查看器,因此查看文件的唯一方法是下载它。
为什么?
- 文件和电子邮件都位于 Gmail 服务器上。当您在浏览器中查看电子邮件时,服务器会创建一个包含电子邮件内容的网页。您的浏览器会为您显示网页内容。传输到您 PC 的所有内容就是您在屏幕上看到的内容。
- 网页包含附件链接。这些链接指向附件,单击即可开始下载。实际附件文件存储在 Gmail 服务器上。
- Gmail 为某些类型的文件提供了查看器。当您点击“查看”链接时,Gmail 服务器会构建一个包含附件内容的网页。对于其他类型的文件(世界上大多数文件类型),Gmail 不会这样做。它可以,但目前没有此功能。因此,您唯一的选择就是将文件从 Gmail 服务器下载到您的 PC 上,以便查看它。
答案2
经过一番调查,我发现至少对于本地文件,您可以通过在 ~/.local/share/mime/globs2 中定义您喜欢的 mime 类型来覆盖此功能,如下所示:
> cat ~/.local/share/mime/globs2
10:text/plain:*.c
10:text/plain:*.cc
10:text/plain:*.c++
10:text/plain:*.cpp
10:text/plain:*.h
第一个字段是优先级(数字越小表示越重要),然后是 mime 类型,然后是您要匹配的模式。默认规则(/usr/local/share/...)对 .c、.h 等的优先级为 50。
对于远程提供的文件,浏览器依赖于服务器提供的 MIME 类型,上述技巧不起作用。
查看 Chromium 源代码
chromium-courgette-redacted-18.0.1025.162/net/base/mime_util.cc
似乎可以通过将我们想要显示的类型列表添加到数组中来实现部分修复
static const char* const supported_non_image_types[] = {
...
+ "text/x-csrc",
+ "text/x-chdr",
...
}
也许我们可以对 FreeBSD 端口进行一些可选的修补,尽管我更愿意找到一种不需要重建 Chrome 的方式来覆盖服务器提供的 mime 类型。
无论如何,至少对于本地浏览来说,这似乎是一个显着的改进。
答案3
.c
您如何获取或文件的 URL .cpp
?
如果是通过另一个页面上的链接,Chrome 应该会将其作为纯文本文件打开。当我尝试使用硬盘上的文件时,确实如此。
如果您想将 Chrome 用作硬盘上的文件的默认查看器,那么我们需要知道您正在使用哪种操作系统.c
。.cpp
答案4
Google Chrome 已修复此问题,至少我的版本(61.0.3163.91 64 位)可以解决此问题。
但 Firefox 没有。因此,我找到了一种简单而又巧妙的方法,用于我们最喜欢的 foxy,我在此类似的问题中对其进行了描述:让 Chrome 在选项卡中打开“文本”文件。
谷歌浏览器
现在可以直接从浏览器打开源代码。我在 61.0.3163.91 64 位版本上进行了测试。
火狐
尚未出现。为避免这种情况,请执行以下操作:
- 右键单击.c或其他源代码文件;
Copy link
选项- 按下
CRTL-T
打开新标签; - 输入“查看源代码:”
- 粘贴之前复制的链接。
完成!Firefox 将显示文件的源代码,在本例中为文件本身。