崇高文本4:使用换行符折叠Python函数

fhity93d  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(150)

我正在运行Sublime Text Build 4143。给定一个函数,其参数超出了80个字符的限制,如下所示:

def func(parameter_1, parameter_2, parameter_3, parameter_4, parameter_5, parameter_6):
    """
    """

    print("hello world")

    return

ST将显示PEP8 E501: line too long警告并突出显示该行(这很好):

但是我可以适当地折叠这个函数:

如果我修改它以避免PEP8警告:

我再也无法折叠它:

我想这在上一次更新中改变了,因为我曾经可以毫无问题地折叠这些函数。我该如何绕过这些呢?

mo49yndu

mo49yndu1#

有两种解决方案。第一种是使用折叠键盘快捷键(CtrlShift[在Windows/Linux上,Shift[在Mac上),光标位于函数签名最末尾的冒号:之前或之后- * 位于括号()之外 *。您可以使用CtrlShift展开)(Shift]),或者使用def关键字左边的栏中的箭头。
第二种方法稍微复杂一点,但允许您使用折叠箭头和键盘快捷键,并且在折叠时您的光标可以在任何位置。(ShiftP在Mac上)并键入v,然后选择View Package File选项。接下来,键入python/fold并选择Python/Fold.tmPreferences。一个PLIST/XML文件将打开,包含特定于语言的折叠规则。
在编辑文件之前,我们需要保存文件并关闭其只读保护。首先,通过选择**File → Save As…**保存文件。它应该自动选择Packages/Python目录,其中Packages

  • Linux:~/.config/sublime-text-3/Packages~/.config/sublime-text/Packages
  • macOS/OS X操作系统:1个内存
  • Windows常规安装:C:\Users\**YourUserName**\AppData\Roaming\Sublime Text 3\PackagesC:\Users\**YourUserName**\AppData\Roaming\Sublime Text\Packages
  • Windows便携式安装:x1米19英寸1x或x1米21英寸1x

确切路径取决于您是否从Sublime Text 3升级。
接下来,选择**View → Show Console**并键入

view.set_read_only(False)

您可以通过按Esc键或选择**View → Hide Console**关闭控制台。
Fold.tmPreferences中,选择第24-29行并注解掉它们- Ctrl/代表Win/Lin,/代表macOS。

<string>punctuation.section.arguments.begin</string>
                <key>end</key>
                <string>punctuation.section.arguments.end</string>
            </dict>
<!--             <dict>
                <key>begin</key>
                <string>punctuation.section.parameters.begin</string>
                <key>end</key>
                <string>punctuation.section.parameters.end</string>
            </dict>
 -->            <dict>
                <key>begin</key>
                <string>punctuation.section.sequence.begin</string>
                <key>end</key>

第20-33行
最后,保存你的修改。在你保存后关闭文件,然后转到**File → Open Recent**并确认Fold.tmPreferences在列表的顶部,测试一切是否正常。点击它打开它,并仔细检查第24-29行是否仍然被注解掉。完成后,你可以再次关闭它。
应该就是这样了!一旦保存了对Fold.tmPreferences的更改,它们将立即生效。
非常感谢Sublime Text Discord server上的常客,感谢他们建议查看Fold.tmPreferences

相关问题