题 在PyCharm中使用换行符包装注释


我有评论气球 (PEP 8: Line too long ... > 120) 我希望有一个命令可以用很少的击键来包裹线条。 现在,即使我输入 Alt + Enter键 并按 输入 上 Reformat file,没有任何改变。我可以使用设置或插件轻松完成格式化吗?


17
2018-06-19 16:45


起源




答案:


首先,重新格式化是行不通的,至少在Python中不行,其中空白是重要的。 PyCharm的“打字到右边距时换行”选项正是您所需要的。现在,当你复制和粘贴代码时这不起作用,但是在它给你带来麻烦的地方,只需按回车键,它就会起作用。

Screenshot of where to turn on PyCharm "Wrap when typing reaches right margin" option


12
2018-06-20 09:18



我希望我可以点击该图片使其变大。 - Matt Faus
@MattFaus右键单击图像,然后在新选项卡中打开。 - Games Brainiac
评论和文档字符串是空格不重要的两个地方。如果PyCharm可以很好地包装它们将会很好。 (它可以完成基本工作......) - Mike
@GamesBrainiac你也可以按住Ctrl + Shift +点击在新标签页中打开并查看标签。 - Chris Anderson


在下面 Edit 菜单,有一个 Fill Paragraph 选项,它做我认为你想要的。您可以为此分配一个键命令 Preferences,在 Appearance & Behavior  - > Keymap (搜索“填充”)。

就个人而言,我选择第一次击打Esc,第二次击球Q,因为这是我在Emacs中一直使用的......


25
2018-01-29 20:50



这实际上正是我所寻找的,也可能正是OP正在寻找的东西。接受的答案没有说明OP正在寻求自动装配这一事实 注释 其中空格通常不重要(除了手动换行之外)。 - Fred
出于某种原因,如果选择任何文本,“填充段落”将不起作用。光标必须位于段落中的某个位置。 - George Lund
@StevenVascellaro听起来你应该这样 向作者报告一个问题。在这里发表评论对任何人都不太有帮助。 - Mike
也就是说,您也可以尝试添加 # language=rst prefix=" " 在你的docstring之前的那一行。 - Mike
这打破了使用reStructuredText构建的文档字符串。 (PY-28838) - Steven Vascellaro


为了能够自动重新格式化注释(以及代码),以便在事后获得正确的边距,进入Code Style下的Project Settings,然后在Python下进一步。单击Wrapping and Braces选项卡,然后选中“确保未超出右边距”复选框。

现在,如果您选择一个行区域然后运行Code / Reformat Code ...命令,PyCharm将尽力包装适当的注释或代码。

您可能需要对结果进行一些调整以适合您的风格品味。例如,我希望PyCharm会在块注释中积极填充文本,至少可选择这样。

PyCharm不会重新格式化代码,使其成为无效的Python,因此有时它仍会留下比边距更长的行(120或您在项目设置/代码样式/常规下设置的任何内容)。

enter image description here


7
2017-08-14 19:02





更新答案: 使用“软包装”。您可以在帮助栏中搜索它。

查看>活动编辑器>使用软包装

它不适用于复制的现有文本或文本,但适用于任何新键入的文本。


1
2017-07-28 20:39





最近的PyCharm现在位于“编辑器 - >代码样式”,其复选框名为“Wrap on typing” enter image description here

屏幕截图显示了PyCharm版本2016.2.1 Professional。


1
2017-08-18 06:52