我们可以利用语法高亮功能来删除 SublimeText 源文件中的所有注释吗?

2024-04-13

我有一堆用不同语言编写的源文件,我想从源文件中删除所有注释。

虽然编写正则表达式当然是一种选择,但根据输入文件,我可能必须处理表示注释的字符出现在字符串文字内的情况。还需要维护不同语言的正则表达式列表。

语法突出显示似乎在突出显示注释方面做得相当好,但命令面板中似乎没有任何命令可以删除所有注释。

有没有办法利用 SublimeText 中的语法突出显示功能来删除不同语言的源文件中的所有注释?


基于 nhahtdh 的answer https://stackoverflow.com/a/26286880/1426065,以下插件应该适用于 Sublime Text 2 和 3

import sublime_plugin


class RemoveCommentsCommand(sublime_plugin.TextCommand):

    def run(self, edit):
        comments = self.view.find_by_selector('comment')
        for region in reversed(comments):
            self.view.erase(edit, region)

使用Python语法创建一个新文件,并将上面的代码粘贴到其中。将文件保存在您的Packages/User目录(可通过Preferences -> Browse Packages...) as remove_comments.py。您现在可以通过控制台运行插件,或将组合键绑定到它。要通过控制台运行,只需键入

view.run_command('remove_comments')

控制台中,当前视图下的所有评论都会被删除。

要绑定组合键,请打开Preferences -> Key Bindings-User并添加以下内容(用方括号括起来[]如果文件为空):

{ "keys": ["ctrl+alt+shift+r"], "command": "remove_comments" }

Save the file, and you can now hit CtrlAltShiftR (or whatever key combination you choose) and all comments in the current file will be deleted.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们可以利用语法高亮功能来删除 SublimeText 源文件中的所有注释吗? 的相关文章

  • 验证假名输入

    我正在开发一个允许用户输入日语字符的应用程序 我试图想出一种方法来确定用户的输入是否是日语假名 平假名 片假名或汉字 应用程序中的某些字段不适合输入拉丁文文本 我需要一种方法将某些字段限制为仅限汉字或仅限片假名等 该项目使用UTF 8编码
  • 在数字集合中查找最接近的匹配[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • Textmate“注释”命令对于 css 代码无法正常工作

    当我在 TextMate 中切换 CSS 源代码的注释时遇到一些问题 Using the shortcut CMD I activate the Comment Line Selection command from the source
  • Sublime Text 插件开发中的全局 Python 包

    一 总结 我不知道 Sublime Text 插件开发人员如何使用 Sublime Text 查找全局 Python 包 而不是 Sublime Text 目录的 Python 包 Sublime Text使用自己的Python环境 而不是
  • 用矩阵变换 3D 向量的方法

    我一直在阅读一些关于用矩阵转换 Vector3 的文章 并且正在努力深入研究数学并自己编码 而不是使用现有代码 无论出于何种原因 我的学校课程从未包含矩阵 所以我正在填补我的知识空白 值得庆幸的是 我认为我只需要一些简单的东西 背景是我正在
  • 如何发布/销售/推广半商业/开源项目? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我已经开发了一个 PHP 框架 总共花了大约 3 周的时间 但它已经准备好发布了 如果我选择这样做的话 在目前的经济形势下 我不能仅仅接受
  • 组合 min() 和 max() 的函数是否有“规范”名称?

    我发现我经常最终编写一个我总是调用的函数 clamp 这是一种组合min and max 该函数有标准的 规范 名称吗 它总是看起来像这样 function clamp val lower upper if val lt lower ret
  • 如何以最小化每个分区总和的最大值的方式对整数数组进行分区?

    输入是正整数或空整数的数组 A 和另一个整数 K 我们应该将 A 划分为 K 个连续元素块 我所说的 划分 是指 A 的每个元素都属于某个块 并且 2 个不同的块不包含任何共同元素 我们将块的总和定义为该块的元素的总和 目标是在 K 个块中
  • Swift 中计算只读属性与函数

    在 Swift WWDC 简介会话中 只读属性description被证明 class Vehicle var numberOfWheels 0 var description String return numberOfWheels wh
  • 线性问题和非线性问题之间的区别?点积和核技巧的本质

    核技巧将非线性问题映射为线性问题 我的问题是 1 线性问题和非线性问题的主要区别是什么 这两类问题的差异背后的直觉是什么 核技巧如何帮助在非线性问题上使用线性分类器 2 为什么点积在这两种情况下如此重要 Thanks 当人们说到分类问题的线
  • 如何命名变量

    您使用什么规则来命名变量 哪里允许使用单字母变量 你在名字中加入了多少信息 例如代码怎么样 你最喜欢的无意义变量名是什么 在 foo 和 bar 之后 为什么它们被拼写为 foo 和 bar http en wikipedia org wi
  • 将 RGB 转换为灰度/强度

    当从 RGB 转换为灰度时 据说应该对 R G 和 B 通道应用特定的权重 这些权重是 0 2989 0 5870 0 1140 据说这是因为人类对这三种颜色的感知 感受不同 有时也有人说这些是用于计算 NTSC 信号的值 但是 我在网上没
  • 如何检查 AJAX 请求的真实性

    我正在设计一个网站 让用户尽快解决谜题 JavaScript 用于为每个谜题计时 当谜题完成时 毫秒数通过 AJAX 发送到服务器 如何保证服务器收到的时间不是用户伪造的 我不认为基于会话的真实性令牌 Rails 中用于表单的那种 就足够了
  • 注释非法 Unicode 序列

    我曾经在一个处理 unicode 处理的 Java 应用程序上工作 像往常一样 我首先编写一些代码并测试它 然后注释掉工作代码并添加一些新行 这个过程一直持续到我找到解决方案 我遇到的确切问题是注释掉非法的 Unicode 字符串 有些 u
  • 为什么这个函数不是纯粹的?

    在维基百科文章中https en wikipedia org wiki Pure function Impure functions https en wikipedia org wiki Pure function Impure func
  • 修改 HTML 标签的 Sublime Text 语法突出显示

    我已经为 Sublime Text 2 尝试了多种配色方案 并且发现了一些对于 javascript 和 php 来说看起来很棒的配色方案 但它们在 HTML 中的文本和标签之间也有可怕的区别 我想做的是使 HTML 标签成为相同颜色作为开
  • 自动跟踪算法

    我正在尝试写一个simple跟踪例程来跟踪电影中的某些点 本质上我有一系列 100 帧长的电影 在黑暗背景上显示一些亮点 我每帧有大约 100 150 个点 它们在电影的过程中移动 我想跟踪它们 所以我正在寻找一些有效的 但可能不会过度实施
  • 评估 CRC-32 实现中的差异

    我见过相同基本 CRC 32 算法的许多不同实现 如下所示 int remain int sbox SIZESBOX int dividend int bit for dividend 0 dividend lt SIZESBOX divi
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 奖励*完整*初学者的代码项目[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 为刚接触编程的人提供的课程通常包括一个代码项目 我认为这是一种很好的学习方式 然而 这样的项目往往让人感觉过于做作 因此做起来并没有多大回

随机推荐