评论& PyCharm中的嵌套代码折叠

时间:2017-09-27 00:17:03

标签: python pycharm code-folding

为什么PyCharm会将嵌套代码块末尾的换行符注释放到上一个块中?

示例(尝试折叠第一个“if”块):

def print_me(a):

# newline comment
    if a == 'me':
        dummy_padding = ''
        if not dummy_padding:
            favorite_place = 'zoo'
            print(a)
        else:
            pass

# invisible newline comment
    elif a == 'you':
        dummy_padding = ''
        pass

# visible newline comment
    elif a == 'us':
        dummy_padding = ''
        if not dummy_padding:
            favorite_place = 'movies'
            print(favorite_place)

    # visible indented comment
    elif a == 'them':
        dummy_padding = ''
        pass

    return a

Python中是否有规范声明函数内的注释应该总是缩进?如果没有,是否有某种方法可以调整PyCharm中的设置,以便在折叠嵌套代码时它不会消失换行注释?

1 个答案:

答案 0 :(得分:1)

PEP8表示

  

块注释通常适用于后面的一些(或所有)代码   它们,并缩进到与该代码相同的级别。

所以我认为以下评论没有缩进导致该行为。

如果你要缩进" #visisible newline comment"与随后的elif处于同一级别,您将看到PyCharm不再将其折叠到上部区域。

# newline comment
    if a == 'me':
        dummy_padding = ''
        if not dummy_padding:
            favorite_place = 'zoo'
            print(a)
        else:
            pass

    # invisible newline comment  -- now not folded
    elif a == 'you':