【问题标题】:Sublime text 3 snippet variable from previous assignment来自先前分配的崇高文本 3 片段变量
【发布时间】:2014-10-19 17:16:15
【问题描述】:

我最近尝试调整为 sublime text 3 而不是我过去几年用于 web 开发的 netbeans,我真的很喜欢 netbeans IDE 中的功能,尤其是相当于 sublime sn-ps 的代码模板,不幸的是我无法像在 netbeans 代码模板中那样从上次赋值中找到变量。

这是我在 netbeans 中使用的代码模板

error_reporting(E_ALL);
ini_set('display_errors', '1');
echo '<pre style="background: black;color: white; font-size:16px; font-wheight:bold; direction:ltr!important;text-align: left;">';
print_r(${VARIABLE variableFromPreviousAssignment default="$variable"});
echo '</pre>';
die();

这是我在 sublime text 3 中使用的 sn-p

<snippet>
    <content><![CDATA[
error_reporting(E_ALL);
ini_set('display_errors', '1');
echo '<pre>';
echo print_r(${1:*});
echo '</pre>';
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>dbg</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.php</scope>
    <description>dbug snippet</description>
</snippet>

简而言之,我正在寻找的是在 netbeans 中崇高的等价物

(${VARIABLE variableFromPreviousAssignment default="$variable"}

【问题讨论】:

    标签: php netbeans sublimetext code-snippets


    【解决方案1】:

    在菜单栏上打开 Preferences -> Key Bindings

    现在在方括号 [] 内的键绑定右侧添加以下代码

    { 
        "keys": ["ctrl+shift+c"],
        "command": "insert_snippet",
        "args": { "contents": "echo \"<pre>\";\nprint_r(${0:\\$variable_to_debug});\necho \"</pre>\";\ndie();\n" }
    }
    

    享受您的 ctrl+shift+c 快捷方式作为 PHP 的漂亮打印。

    【讨论】:

      【解决方案2】:

      忘记丑陋的 print_r 代码,使用 dBug 库。

      1. 下载http://dbug.ospinto.com/ 并包含在您的项目中
      2. 在你的项目中添加以下函数:

        /**
         * Returns dBug object [pretty object/array]
         * @param $var
         * @param bool $stop
         */
        function dbug($var,$stop=FALSE) {
            if ( ! class_exists('dbug') ) {
                require '../path_to/dbug.php';
            }
        
            new dBug($var);
            if ( $stop ) die();
        }
        
        1. 享受 ;-)

      【讨论】:

      • 我在特定情况下使用它,当我有非常大的多维数组或巨大的对象时,这是第二个 sn-p
      【解决方案3】:

      我将您的 sn-p 更改为您在 Netbeans 快捷方式中的文本:

      <snippet>
          <content><![CDATA[
      error_reporting(E_ALL);
      ini_set('display_errors', '1');
      echo '<pre style="background:black; color:white; font-size:16px; font-weight:bold; direction:ltr!important; text-align:left;">';
      print_r(${1:\$variable});
      echo '</pre>';
      die();
      ]]></content>
          <tabTrigger>dbg</tabTrigger>
          <scope>source.php</scope>
          <description>dbug snippet</description>
      </snippet>
      

      在Sublime的一个PHP文档中,输入dbg并点击Tab,会出现如下内容:

      语法高亮是Neon

      $variable 被突出显示,允许您用自己选择的内容替换它。

      有关 sn-ps 的更多信息,请查看snippet reference

      不幸的是,在 Sublime 中没有办法仅使用 sn-p 来保存最后一个赋值的值 - 你需要一个插件。如果你真的需要这个功能,请告诉我,我会看看能不能把一些东西放在一起。

      【讨论】:

      • 感谢您的回答。所以没有开箱即用的功能?当它自动将最后一个变量放在您定义的点时,这一点真的很容易。如果你能做到,请告诉我它如何要求插件开发?
      猜你喜欢
      • 2015-11-20
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多