Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sublimetext3 升华文本:单独的注释/取消注释快捷方式_Sublimetext3_Sublimetext - Fatal编程技术网

Sublimetext3 升华文本:单独的注释/取消注释快捷方式

Sublimetext3 升华文本:单独的注释/取消注释快捷方式,sublimetext3,sublimetext,Sublimetext3,Sublimetext,我知道如何使用Ctrl+/切换注释 我希望能够使用不同的快捷方式对行进行注释和取消注释。即:Ctrl+r表示注释,Ctrl+t表示取消注释 有人想办法吗?我在Supreme text 3上。您可以通过创建一个新插件来实现这一点: 从工具菜单->开发者->新插件 选择全部并替换为以下内容 将其保存在ST建议的文件夹(Packages/User/)中,类似于add\u或\u remove\u comment.py(文件扩展名很重要,基本名称不重要) 在用户密钥绑定文件中为add\u或\u re

我知道如何使用Ctrl+/切换注释

我希望能够使用不同的快捷方式对行进行注释和取消注释。即:Ctrl+r表示注释,Ctrl+t表示取消注释


有人想办法吗?我在Supreme text 3上。

您可以通过创建一个新插件来实现这一点:

  • 从工具菜单->开发者->新插件
  • 选择全部并替换为以下内容
  • 将其保存在ST建议的文件夹(
    Packages/User/
    )中,类似于
    add\u或\u remove\u comment.py
    (文件扩展名很重要,基本名称不重要)
  • 在用户密钥绑定文件中为
    add\u或\u remove\u comment
    comment命令创建2个密钥绑定,并根据需要将
    模式
    参数设置为
    add
    remove

请注意,Ctrl+R将覆盖默认的Goto符号绑定,而Ctrl+T将覆盖默认的转置文本绑定…

您可以通过创建一个新插件来实现这一点:

  • 从工具菜单->开发者->新插件
  • 选择全部并替换为以下内容
  • 将其保存在ST建议的文件夹(
    Packages/User/
    )中,类似于
    add\u或\u remove\u comment.py
    (文件扩展名很重要,基本名称不重要)
  • 在用户密钥绑定文件中为
    add\u或\u remove\u comment
    comment命令创建2个密钥绑定,并根据需要将
    模式
    参数设置为
    add
    remove

请注意,Ctrl+R将覆盖默认的Goto符号绑定,Ctrl+T将覆盖默认的转置文本绑定…

据我所知,这是不可能的…据我所知,这是不可能的…谢谢,这非常有效!看起来Sublime文本是可深度定制的。也感谢您的超越警告!关于“remove comment”命令的细微挑剔:如果选择跨越多行,其中一些未注释,一些已注释,如果调用该命令,已注释的行变为未注释,那就太好了。如果不清楚的话,我可以提供一个截图。好的,我想我是用黑客攻击的。(如果有人感兴趣:)啊,我承认我没有测试那个场景——抱歉!请随意编辑我的答案,包括您的改进:)谢谢,效果很好!看起来Sublime文本是可深度定制的。也感谢您的超越警告!关于“remove comment”命令的细微挑剔:如果选择跨越多行,其中一些未注释,一些已注释,如果调用该命令,已注释的行变为未注释,那就太好了。如果不清楚的话,我可以提供一个截图。好的,我想我是用黑客攻击的。(如果有人感兴趣:)啊,我承认我没有测试那个场景——抱歉!请随意编辑我的答案,包括您的改进:)
import sublime
import sublime_plugin
from Default.comment import *

class AddOrRemoveCommentCommand(ToggleCommentCommand):
    def run(self, edit, **kwargs):
        block = kwargs.get('block', False)
        for region in self.view.sel():
            comment_data = build_comment_data(self.view, region.begin())
            if (region.end() != self.view.size() and
                    build_comment_data(self.view, region.end()) != comment_data):
                # region spans languages, nothing we can do
                continue

            if kwargs['mode'] in ('remove', 'toggle'):
                if self.remove_block_comment(self.view, edit, comment_data, region):
                    continue

                if self.is_entirely_line_commented(self.view, comment_data, region):
                    self.remove_line_comment(self.view, edit, comment_data, region)
                    continue

            if kwargs['mode'] in ('add', 'toggle'):
                has_line_comment = len(comment_data[0]) > 0

                if not has_line_comment and not block and region.empty():
                    # Use block comments to comment out the line
                    line = self.view.line(region.a)
                    line = sublime.Region(
                        advance_to_first_non_white_space_on_line(self.view, line.a), line.b)

                    # Try and remove any existing block comment now
                    if kwargs['mode'] == 'toggle' and self.remove_block_comment(self.view, edit, comment_data, line):
                        continue

                    self.add_comment(self.view, edit, comment_data, block, line)
                    continue

                # Add a comment instead
                self.add_comment(self.view, edit, comment_data, block, region)
{ "keys": ["ctrl+r"], "command": "add_or_remove_comment", "args": { "mode": "add" } },
{ "keys": ["ctrl+t"], "command": "add_or_remove_comment", "args": { "mode": "remove" } },