Adblock/AdGuard/uBlock语法支持:VSCode扩展,提升广告拦截规则编写体验
此Visual Studio Code扩展为AdGuard、uBlock Origin和Adblock Plus语法提供了支持,使您能够以便捷的方式编写广告拦截规则。该扩展还集成了AGLint,能够检查您的规则是否存在错误。
我们推荐您在处理广告拦截规则时使用此扩展。
您可以从Visual Studio Marketplace或Open VSX Registry轻松安装此扩展:
以下是扩展运行时的截图:
GitHub Linguist支持也可用,因此您可以在GitHub仓库中高亮显示您的广告拦截规则。有关详细信息,请参阅GitHub Linguist支持。快速示例:
! 这是一个示例规则
example.org##.banner
||example.net/script.js$script,third-party,domain=example.com
主要功能:
语法高亮适用于AdGuard、uBlock Origin和Adblock Plus语法。如今,没有高亮的代码几乎无法想象,高亮帮助您区分代码的不同部分,使其更易于阅读。
我们将AGLint集成到此扩展中,使其能够检查您的规则是否存在各种问题,如无效语法、无效域名、无效/不兼容的CSS选择器、未知/不兼容的脚本、错误做法等。有关AGLint的更多信息,请参阅其存储库。
AGLint集成的方式如下:
[!WARNING] 请注意,语法检查器正处于积极开发中,因此某些规则可能无法正常工作。如果您发现任何问题,请在此处报告。我们期待您的反馈,您的帮助对我们非常重要!
此扩展提供以下配置选项:
选项 | 描述 | 默认值 | 可能值 |
---|---|---|---|
adblock.enableAglint | 启用或禁用AGLint集成。如果禁用,仅语法高亮和其他语言功能可用。 | true | true, false |
adblock.useExternalAglintPackages | 如果启用,扩展将在系统中搜索AGLint安装。如果禁用,扩展将使用其自身的AGLint安装(集成AGLint捆绑包)。如果您在系统/项目中安装了AGLint,建议启用此选项以提供一致的结果。 | true | true, false |
adblock.packageManager | 用于搜索全局AGLint安装的包管理器。设置为您首选的包管理器。 | npm | npm, yarn, pnpm |
GitHub通过Linguist库正式支持广告拦截语法。我们的扩展提供了一个TMLanguage文件,由Linguist用于高亮显示广告拦截规则(VSCode高亮也基于此文件)。这意味着如果您有一个包含广告拦截规则的仓库,GitHub可以高亮您的.txt文件,前提是满足以下条件:
如果一个*.txt文件以广告拦截代理(例如[Adblock Plus 2.0]、[AdGuard]、[uBlock Origin]、[Adblock Plus 2.0; AdGuard]等)开头,那么它将自动被高亮为广告拦截文件。您可以在此处找到检测启发式。
在任何其他情况下,您可以通过将以下行添加到.gitattributes文件中来覆盖语言分类:
# 覆盖*.txt文件的分类,使其高亮为广告拦截文件。
# - 此示例将匹配仓库中的所有*.txt文件,但您可以
# 自定义路径以仅匹配特定文件,例如/filters/*.txt
# 或/filters/*.adblock。请参阅https://git-scm.com/docs/gitattributes以获取更多详细信息。
# - 默认情况下,Adblock语言不会显示在仓库的语言统计中,
# 但添加linguist-detectable将解决此问题,因此建议添加。
*.txt linguist-language=AdBlock linguist-detectable
您可以在此处找到有关覆盖语言分类的更多信息。
此外,根据以下模式,可以在markdown文件和注释中插入广告拦截代码块:
! 示例规则
example.org##.banner
将被渲染为:
! 示例规则
example.org##.banner
想法与问题
如果您有任何问题或对新功能有想法,请打开一个问题或讨论。我们很乐意与您讨论。
报告问题
如果您发现错误或有功能请求,请在此处报告。请确保包含尽可能多的信息,包括截图或示例规则。
请注意,当我们更新此存储库中的TMLanguage时,GitHub上的高亮问题不会立即修复。GitHub的高亮器仅在Linguist发布后更新。此过程大约每季度进行一次。发布前,Linguist维护者将所有集成的TMLanguage更新到最新版本。您可以在此处找到有关Linguist发布过程的更多信息。
贡献
如果您想为此项目做出贡献,请阅读CONTRIBUTING文件。
许可证
此扩展在MIT许可证下发布。有关详细信息,请参阅LICENSE文件。
参考
以下是一些有用的链接,帮助您编写广告拦截规则。此列表并非详尽,如果您知道其他有用资源,请告知我们。
本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:study_golang@163.com