【问题标题】:How can I block comment code in the IPython notebook?如何阻止 IPython 笔记本中的注释代码?
【发布时间】:2013-10-19 13:02:08
【问题描述】:

我在 IPython 笔记本中定义了一个函数,并希望能够阻止评论它的一部分。直观地说,我希望能够突出显示一段代码,右键单击并可以选择注释掉选择,但这还没有实现。

有没有办法做到这一点?

【问题讨论】:

  • 感谢您发布这个问题。它让我意识到我自己不了解 Jupyter 的一些事情。如果您按照通常选择内容的方式选择代码块,然后开始输入开始评论的“”,它们将出现在您选择的代码块周围。您只需键入一次,该块就会被封闭。这适用于字符串的引号,以及函数编码中使用的括号。并且可能适用于 Jupyter 知道您通常包含在一个内容块周围的任何内容。这是使用 Python 的 Anaconda 4.2 发行版在 Win7 美式键盘上测试的

标签: ipython ipython-notebook


【解决方案1】:

默认解决方案

在 IPython 2.x 和 3.x 中,(cmd|ctrl)-/ 有效,但需要英文(美式)键盘布局,请参阅https://github.com/ipython/ipython/pull/3673

其他键盘布局

如果您有非英语键盘布局,您可以通过 custom.js 为 codemirror 编辑器定义自定义键绑定。为此添加例如以下几行

define([
    'base/js/namespace',
    'base/js/events'
    ],
    function(IPython, events) {
        events.on("app_initialized.NotebookApp",
            function () {
                IPython.Cell.options_default.cm_config.extraKeys = {"Ctrl-," : "toggleComment"};
            }
        );
    }
);

使用 Ctrl+, 切换(阻止)cmets。我将它与德语键盘布局和 IPython 3.0 一起使用。 以前的解决方案(请参阅编辑)在 chrome 上运行良好,但在 firefox 上运行良好。

旧解决方案(IPython 1.x)

如果您使用的是 IPython 1.x,您可以尝试使用 https://github.com/ipython-contrib/IPython-notebook-extensions 中的 comment-uncomment.js - 我还没有尝试过,但我想这是一个好的开始。

【讨论】:

  • @我不确定如何使用您的德语键盘解决方案。我做了ipython3 profile create 并在~/.config/ipython/profile_default/static/custom/custom.js 中创建了一个包含上述内容的文件。但它没有用。
  • 您使用的是哪个 IPython (3.x?) 版本和键盘布局?
  • 你使用 IPython 2.x 还是 3.x?
  • @student 您可以通过以下地址访问您当前的 custom.js:localhost:8888/static/custom/custom.js(根据需要调整您的端口)。
  • find . -name "custom.js 给了我多个结果,所以为了获得我的 custom.js 的路径,在笔记本中我做了import notebook 然后notebook.__path__,并添加到该路径静态/自定义/自定义.js.
【解决方案2】:

我有一个德语键盘并尝试了一些键。以下工作: [strg] + [#]

【讨论】:

  • 在英文键盘上,这将是 [ctrl] + [#]。但无法测试。
【解决方案3】:

适用于任何键盘布局的解决方案:

按照这篇博文:https://towardsdatascience.com/jupyter-notebook-extensions-517fa69d2231,您可以使用以下命令为 jupyter notebook 安装一些插件:

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install 

现在启动 jupyter 并转到新的 Nbextensions 标签。有一个名为Comment/Uncomment Hotkey 的插件。激活它并选择您的热键。例如Alt + C。现在您可以通过选择并使用新的热键来评论/取消评论一行或一个块。

【讨论】:

  • 工作..!有没有什么方法可以评论,比如在星星中添加文字评论?对于 ex /* 要评论的文本在这里............第 1 行第 2 行第 3 行......第 n 行 */ 而不是在所有行前面都有哈希 (#)?
【解决方案4】:

对我来说 Ctrl + ^/~。 我正在使用 Windows 10 和 Jupyter Notebook。

【讨论】:

    猜你喜欢
    • 2014-12-17
    • 2013-04-28
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2015-08-21
    • 2013-03-02
    • 1970-01-01
    相关资源
    最近更新 更多