tk3118’s blog

技術ブログっぽいただのブログです。

【VSCode】Snippet作成時に使える変数一覧まとめ

前置き

VSCodeのSnippetを使っていて、 変数を使いたいけど何があるか忘れた、毎回忘れて調べている ということがあったのでまとめて見ました。

変数一覧 (2020/01/08)

以下記事はこちら公式の日本語訳になります. code.visualstudio.com

変数# $ nameまたは$ {name:default}を使用すると、変数の値を挿入できます。変数が設定されていない場合、そのデフォルトまたは空の文字列が挿入されます。変数が不明な場合(つまり、その名前が定義されていない場合)、変数の名前が挿入され、プレースホルダーに変換されます。

次の変数を使用できます。

  • TM_SELECTED_TEXT現在選択されているテキストまたは空の文字列
  • TM_CURRENT_LINE現在の行の内容
  • TM_CURRENT_WORDカーソルの下の単語の内容または空の文字列
  • TM_LINE_INDEXゼロインデックスベースの行番号
  • TM_LINE_NUMBERワンインデックスベースの行番号
  • TM_FILENAME現在のドキュメントのファイル名
  • TM_FILENAME_BASE現在のドキュメントの拡張子なしのファイル名
  • TM_DIRECTORY現在のドキュメントのディレクト
  • TM_FILEPATH現在のドキュメントの完全なファイルパス
  • CLIPBOARDクリップボードの内容
  • WORKSPACE_NAME開いているワークスペースまたはフォルダーの名前

現在の日付と時刻を挿入するには:

  • CURRENT_YEAR現在の年
  • CURRENT_YEAR_SHORT現在の年の下2桁
  • CURRENT_MONTH 2桁の月(例 '02')
  • CURRENT_MONTH_NAME月のフルネーム(例:「7月」)
  • CURRENT_MONTH_NAME_SHORT月の短い名前(例: 'Jul')
  • CURRENT_DATE月の日
  • CURRENT_DAY_NAME曜日の名前(例:「月曜日」)
  • CURRENT_DAY_NAME_SHORT曜日の短い名前(例: 'Mon')
  • CURRENT_HOUR 24時間形式の現在の時間
  • CURRENT_MINUTE現在の分
  • CURRENT_SECOND現在の秒
  • CURRENT_SECONDS_UNIX Unixエポックからの秒数

行またはブロックのコメントを挿入する場合

  • BLOCK_COMMENT_START出力例:PHP / *またはHTML <!-
  • BLOCK_COMMENT_END出力例:PHP * /またはHTML->
  • LINE_COMMENTの出力例:PHPの場合//

使用例

以下のスニペットは、JavaScriptファイルに/ * Hello World * /を挿入し、HTMLファイルに<!-Hello World->を挿入します。

{
  "hello": {
    "scope": "javascript,html",
    "prefix": "hello",
    "body": "$BLOCK_COMMENT_START Hello World $BLOCK_COMMENT_END"
 
}

応用編

Reference

code.visualstudio.com

【VSCode】VSCodeのショートカットキー一覧

Visual Studio Codeのショートカットキー一覧が載っているPDFです。

  • Windows

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

  • MacOS

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf

  • Linux

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf

【Unity】SetParentで子の位置が更新されてしまうのを防ぐ

度々なるので忘れないようにメモ

解決法

そもそも公式によると↓とのこと Unity - スクリプティング API: Transform.SetParent

public function SetParent(parent: Transform, worldPositionStays: bool): void;

サンプルコード

private GameObject child;

void hoge(Transform parent)
{
    child.SetParent(parent, false); // ここをtrueにすると相対位置を補完する
}

いっそのこと拡張メソッドにしてもいいかもしれません

public static class Extension
{
    // もっと良い関数名つけて!
    public static void SetParentLocal(this Transform self, Transform parent)
    {
        self.SetParent(parent, false);
    }
}

child.transform.parent = parentchild.transform.SetParent(parent)で事故らないようにしましょう。

【Slack】Slackにブログなどの投稿を通知させたい

やりたいこと

ブログなどの記事をSlackに自動投稿したい

やること

RSSを使ってSlackに通知させる。 ここでは、例としてSocialGameInfoはてなブログRSS設定を行って見たいと思います。

RSSとは?

e-words.jp

SlackにRSS機能を追加する

  • ↓以下の手順に沿って、設定を行います。 slack.com

  • SlackへのRSS機能の追加はコチラから
    slack.com

SocialGameInfoを通知させる

ここの手順 ,Step2に沿って設定していきます。

  • フィードURLの部分にhttps://gamebiz.jp/?feed=rssこちらのURLをコピペします。
  • チャンネルは自分で好きなものを選択して
  • 最後にこのフィードを購読するをクリックして設定完了です。

f:id:tk3118:20191209230032p:plain

ちゃんと出来ていたら以下のように通知が行われます。

f:id:tk3118:20191209222754p:plain
<RSSが完了した場合の完成イメージです。>

はてなブログを通知させる

はてなブログも上記の手順と同じ方法で行えますが、 ブログにRSS用のリンクが無い場合がほとんどだと思います。
しかしはてなブログの場合は、どのブログでも初期状態で
http://ブログのドメイン/feedまたはhttp://ブログのドメイン/rssRSS機能が使えるのでそちらを使用します。
丁寧なブログだとRSS用のリンクを貼ってくれているかもしれません。

手順

  • SocialGameInfoの時の、フィードURLの部分にhttp://ブログのドメイン/feedのような感じで記入します。 当ブログの場合で説明すると http://tk3118.hatenablog.com/feedと記入します。
  • 同じようにチャンネルを選択して、このフィードを購読するをクリックして設定完了です。

参考
help.hatenablog.com