kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。

Pythonプレースホルダー

  「Pythonプレースホルダー」は、スニペット挿入時にユーザーがPythonの実行結果をドキュメントに展開する「プレースホルダー」です。


Pythonプレースホルダーのフォーマット

  「Pythonプレースホルダー」のフォーマットは、以下のようになります。

$<Pythonの実行コード>

  Pythonの実行コード

    Pythonの実行コードを記述します。
    戻り値がドキュメントに展開されます。

   通常のPythonと同様の記述が可能です。

Pythonプレースホルダーに番号を指定するには

  「Pythonプレースホルダー」に番号を設定することができます。
  番号を指定すると、「シンプルプレースホルダー」のようにユーザーが「Tab」キーで「シェルプレースホルダー」に移動できるようになります。

  番号は以下のように設定します。

$<番号:Pythonの実行コード>

  番号について

    番号の扱いについては、「シンプルプレースホルダー」を参考にしてください。

    番号が設定された「シェルプレースホルダー」は、デフォルト値をPythonの実行コードの戻り値に置き換えた「シンプルプレースホルダー」と捉えることができます。

他のプレースホルダーの内容を参照するには

  Pythonの実行コード内で、他のプレースホルダーの内容を参照することができます。 
  他のプレースホルダーの内容を参照するには、以下のように記述します。

$プレースホルダーの番号

  スニペットの記述例

    例えば、以下のようにスニペットを記述します。

ユーザー名:${1:Ubuntu}

ユーザー名(小文字):$<
userName=$1
return userName.lower()
>

  Pythonの実行コード内の「$1」の内容は、「${1:Ubuntu}」の内容に置き換わります。

  参照元の内容が変わった場合

    スニペットをドキュメントに挿入したあと、ユーザーがPythonの実行コード内で参照している他のプレースホルダーの内容を編集した場合、Pythonの実行コードが再実行されます。

    Pythonの実行コード内で参照している他のプレースホルダーの内容が反映されます。

    「ミラープレースホルダー」と同じ扱いになります。

他のプレースホルダーを参照するには

  上記の「他のプレースホルダーの内容を参照する」と似ていますが、こちらは「プレースホルダー」そのものの参照です。

  他のプレースホルダーを参照するには、以下のように記述します。

$<[番号]:Pythonの実行コード>

  複数の「プレースホルダー」を参照する場合

    他のプレースホルダーを参照するには、以下のように参照する「プレースホルダー」の番号を「,」で区切って記述します。

$<[番号,番号,番号,・・・]:Pythonの実行コード>

  番号について

    参照する「プレースホルダー」の番号を指定します。
    スニペットをドキュメントに挿入したあと、参照先の「プレースホルダー」の内容が編集されると、Pythonの実行コードが再実行されます。

    「ミラープレースホルダー」と同じ扱いになります。

  スニペットの記述例

    例えば、以下のようにスニペットを記述します。

ユーザー名:${1:Ubuntu}

ユーザー名(小文字):$<
global userName

userName=$1

return userName.lower()
>

ユーザー名(大文字):$<[1]:
return userName.upper()
>

  「$<[1]:・・・>」は1番の「シンプルプレースホルダー」を参照しているため、「${1:Ubuntu}」の内容が編集されると、Pythonの実行コードが再実行されます。

変数の共有

  Python実行コード内で「global」による変数の宣言が行われている場合、他の「Pythonプレースホルダー」でもその変数を参照できるようになります。

  スニペットの記述例

    例えば、以下のようにスニペットを記述します。

ユーザー名:${1:Ubuntu}

ユーザー名(小文字):$<
global userName

userName=$1

return userName.lower()
>

ユーザー名(大文字):$<[1]:
return userName.upper()
>

    「userName」変数は「global」で宣言されているため、他の「Pythonプレースホルダー」から「userName」変数を参照できるようになります。

    ただし番号が設定されている「Pythonプレースホルダー」から他の「Pythonプレースホルダー」で宣言されている変数は参照できません。

スニペットの記述例

  スニペットの記述例です。


ユーザー名:${1:Ubuntu}

ユーザー名(小文字):$<
global userName

userName=$1

return userName.lower()
>

ユーザー名(大文字):$<[1]:
return userName.upper()
>

日付:$<2:
import datetime
return str(datetime.date.today())
>

スニペットの使用例

  ドキュメントに上記のスニペットを挿入すると、以下のようになります。

  1.タブの入力

    スニペットを挿入するため、上記のスニペットに設定してある「タブ」を入力します。


  2.スニペットの挿入

    「Tab」キーを押すと、以下のようにスニペットの内容がドキュメントに展開されます。

    番号が設定された「Pythonプレースホルダー」は、実線の枠で表示されます。

    番号が設定されていないが、他のプレースホルダーを参照している「Pythonプレースホルダー」は、点線の枠で表示されます。

    番号が設定されておらず、他のプレースホルダーを参照していない「Pythonプレースホルダー」は、通常の文字列に展開されます。


    すべての「プレースホルダー」の中で最も番号の小さい「${1:Ubuntu} 」に、フォーカスが設定されています。

  3.${1:Ubuntu} の編集

    「$(1:echo "スニペット.txt")」を必要に応じて編集します。


  4.Pythonプレースホルダーの更新

    「Tab」キーを押すなどフォーカスやキャレットを「${1:Ubuntu} 」から移動すると、「${1:Ubuntu} 」を参照している「Pythonプレースホルダー」が更新されます。


  5.$<2:・・・>に移動

    「Tab」キーを押すと、次に番号の小さい「$<2:・・・>」にフォーカスが設定されます。


  6.$<2:・・・>の編集

    フォーカスが設定されている状態、もしくはキャレットが設定されている状態で文字を入力すれば、「$<2:・・・>」の編集が可能です。



関連コンテンツ
同一カテゴリーの記事
コメント
オプション