0

利用可能なパッケージが大量にあるため、最近 Espresso を Sublime Text 2 に交換しました。私はこのソフトウェアを主に Web 開発に使用し、かなりの数のパッケージをインストールしました。

補完用のすべてのオートコンプリート、AndyPHP、PHP 補完 KIT および SublimeCodeIntel。

SublimeCodeIntel だけでなく、これらすべてをインストールする理由は、SublimeCodeIntel が期待どおりに機能しなかったためです。

これらのいずれも (一緒であろうとなかろうと)、プロジェクト ファイルで定義されたクラス、関数、または変数名を完成させません。

問題を説明するための単なる例です。

ファイルの 1 つで単純な関数を定義すると、

function sayOutLoud($x) { echo $x; }

そして、sayOu と入力し始めると、Sublime に関数名を提案してもらいたいのですが、sayOutLoud を選択した場合は、関数が取る引数を知りたいです (もちろん知っていますが、あなたは理解しています)。これらのパッケージの誰もこれを行うべきではありませんか?

更新:再起動後、奇妙なことに、いくつかの完了が機能し始めました。しかし、それは私に引数リストを与えません。

SublimeCodeIntel (最高のパッケージの 1 つと言われたパッケージ) を無効にすると、何も変わりません。つまり、アクティブなときに何も追加されません。

4

1 に答える 1

2

この関数を頻繁に使用している場合は、独自のスニペットを作成してこれを行うことをお勧めします。これは、使用できる簡単なスニペットです (崇高なプラグインは必要ありません) 1) ツール > 新しいスニペット に移動します取得するページのデフォルト コンテンツは次のようなものです。

<snippet>
    <content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <!-- <tabTrigger>hello</tabTrigger> -->
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <!-- <scope>source.python</scope> -->
</snippet>

2) 3 行目に関数定義を記述します (Hello を削除します。${1:this} は ${2:snippet} です)。

この場合、関数定義は次のようになります。

function sayOutLoud(${1:\$x}) { ${2:echo} ${3:\$x};${4:} }

3) 6 行目のコメントを外して、タブを押して sayOutLoud (6 行目を次のように置き換えます) と入力すると機能するようにします。

<tabTrigger>sayOutLoud</tabTrigger>

4) ファイルをsayOutLoud.sublime-snippetという名前で保存します。

phpファイルを開いてsayOutLoudと入力すると、オートコンプリートが表示され、タブ を押すと、ファイルに追加された関数が表示されます。それがITです。

于 2014-06-30T10:25:19.330 に答える