【问题标题】:What is the best way to use a console when developing?开发时使用控制台的最佳方式是什么?
【发布时间】:2010-09-07 03:32:27
【问题描述】:

对于脚本语言,在开发时使用控制台最有效的方法是什么?有没有办法让控制台比仅“编译和运行”的语言更有效率?

补充说明:我更多地考虑 Ruby、Python、Boo 等。用于成熟应用程序的语言,但也有办法在控制台中运行小型 sn-ps 代码。

【问题讨论】:

  • 您可能会对成熟的应用程序使用什么语言感到惊讶。

标签: scripting console


【解决方案1】:

我认为这取决于控制台。与 Powershell 控制台相比,Windows 上的 CMD 控制台的用处更大。

【讨论】:

    【解决方案2】:

    我在我的 Control-Shift-C 组合键中添加了一个快捷方式,以调出我的 Visual Studio 2008 控制台。在需要注册 dll 或执行任何其他命令时,仅此一项就为我节省了无数秒。我想如果你用另一个命令工具来利用它,你可能会大大提高生产力。

    【讨论】:

      【解决方案3】:

      你在开玩笑吗?

      在我的 Linux 环境中,控制台是我的命脉。我精通 bash 脚本,所以对我来说,控制台就像坐在 Python 或 Lisp 的 REPL 中一样。你真的可以做任何事情。

      我实际上在 bash 中编写了我的团队使用的工具,而控制台是进行该开发的理想场所。我真的只需要一个编辑器作为我想出来的东西的后备商店。

      【讨论】:

        【解决方案4】:

        我更多地考虑 Ruby,...

        对于 Ruby,irb 交互式提示符是“练习”简单事物的好工具。以下是我将提到的有关 irb 的内容,让您了解如何有效使用:

        • 自动化。您可以使用.irbrc 文件,该文件将在启动 irb 时自动执行。这意味着您可以在完整的 Ruby 中自动加载您喜欢的库或做任何您想做的事情。。要了解我的意思,请查看dotfiles.org 中的一些内容。

        • 自动完成。这甚至使编写代码更容易。不记得删除换行符的字符串方法了吗? "".ch<tab> 产生chomp 和chomp。 注意:您必须自己为 irb 启用自动完成功能

        • 分而治之。 irb 让小事变得非常容易。如果您正在编写一个操作字符串的函数,那么在提示符中以交互方式测试代码的能力可以节省大量时间!例如,您可以打开 irb 并开始在示例字符串上运行函数,并为您的库/程序准备好工作和测试的代码。

        • 学习、实验和黑客攻击。像这样的东西在 C/C++ 甚至 Java 中测试需要很长时间。如果您尝试一次全部测试它们,您可能会出现段错误并且必须重新开始。

          这里我只是学习String#[] 函数的工作原理。

          joe[~]$ irb
          >> "12341:asdf"[/\d+/]
          # => "12341"  
          >> "12341:asdf"[/\d*/]
          # => "12341"  
          >> "12341:asdf"[0..5]
          # => "12341:"  
          >> "12341:asdf"[0...5]
          # => "12341"  
          >> "12341:asdf"[0, ':']
          TypeError: can't convert String into Integer
            from (irb):5:in `[]'
            from (irb):5
          >> "12341:asdf"[0, 5]
          # => "12341"  
          
        • 测试和基准测试。现在它们很好并且易于执行。 Here 是模仿 Unix time 函数以进行快速基准测试的想法。只需将其添加到您的 .irbrc 文件中,它就会一直存在!

        • 调试 - 我自己没用过这么多,但总能调试代码like this。或者拉出一些代码并在 irb 中运行它,看看它实际上在做什么。

        我确定我错过了一些东西,但我找到了我最喜欢的点。你对 shell 的限制真的是零,所以你只受到你能想到的事情的限制。我几乎总是有几个 shell 在运行。 Bash、Javascript 和 Ruby 的 irb 等等。我用它们做很多事情!

        【讨论】:

          【解决方案5】:

          您没有说您使用的是什么操作系统,但在 Linux 上,我使用选项卡式窗口管理器 (wmii) 一年左右,它从根本上改变了我使用应用程序的方式 - 控制台或其他方式。

          我经常在一个虚拟桌面上拥有四个或更多控制台和其他应用程序,而使用 wmii,我不必费力调整窗口大小来排列所有内容。我可以轻松地将它们重新排列成垂直列,垂直堆叠,让它们共享等量的垂直或水平空间,并在屏幕之间移动它们。

          假设您在桌面上打开了两个控制台。你会得到这个(对 cronkey 艺术作品表示歉意):

           ----------------
          |                |
          |       1        |
          |                |
           ----------------
           ----------------
          |                |
          |       2        |
          |                |
           ----------------
          

          现在我希望它们并排。我在窗口 2 中输入 SHIFT-ALT-L 将其向右移动并创建两列:

           -------  -------
          |       ||       |
          |       ||       |
          |   1   ||   2   |
          |       ||       |
          |       ||       |
           -------  -------
          

          现在我可以打开另一个控制台并获取

           -------  -------
          |       ||   2   |
          |       ||       |
          |       | -------
          |   1   | -------
          |       ||   3   |
          |       ||       |
           -------  -------
          

          然后我想暂时查看控制台 3 全高,所以我在其中按了 ALT-s 并得到:

           -------  -------
          |       | -------
          |       ||       |
          |   1   ||   3   |
          |       ||       |
          |       ||       |
           -------  -------
          

          控制台 2 和 3 现在堆叠起来了。

          我也可以给 windows 标签。例如,在控制台 2 中,我可以说 ALT-SHIFT-twww+dev 并且该控制台将在“www”和“dev”虚拟桌面中可见。 (如果桌面不存在,则会创建它们。)更好的是,控制台可以在每个桌面上采用不同的视觉配置(例如,堆叠和全屏)。

          无论如何,我不能在这里公正地处理选项卡式窗口管理器。我不知道这是否与您的环境有关,但如果您有机会尝试这种工作方式,您可能不会回头。

          【讨论】:

            猜你喜欢
            • 2018-10-09
            • 1970-01-01
            • 2011-06-19
            • 2021-12-18
            • 1970-01-01
            • 2010-09-24
            • 1970-01-01
            • 2020-07-18
            • 1970-01-01
            相关资源
            最近更新 更多