Gjs on Visual Studio Code

Fedora 28 でプログラミング。

っても GTK+ の大幅な変更は二年毎になったので 29 までメンテのみ。
半年毎にゴロッと変わる GTK3 初期の頃は今考えると結構楽しかった。

OpenJDK は 1.8 のまま、1.9 から jjs が es6 完全対応なんだが。
Gjs はプロファイラがどうたららしいけど、正直どうでもいい。
Python3 も 3.6 のまま、つーことで何も変化無し。
変わらなすぎて面白くないのは筆者だけなのだろうか。

特に書くこともないので終わり、では悲しいので。
Visual Studio Code で gjs アプリ(comipoli)の F5 実行でも。
長いので以下 vscode と略。

書くまでもなく”ウザい!邪魔!迷惑!”のコード保管は全部無効に。
Visual Studio Code 2018 | PaePoi
現在は更に以下を追加。

// 拡張機能の推奨なんて超迷惑
"extensions.ignoreRecommendations": true,
"extensions.showRecommendationsOnlyOnDemand": true

vscode を起動しウエルカムページから開発したいアプリのディレクトリを開く。
キーボードショートカットの設定を開く。
F5 で検索して Node.js の debug 実行のキーを Delete キーで殺す。
Node.js もやりたい人はデフォルトのキーにしてね、筆者はやらん。

.vscode/tasks.json は以下のように。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Start Comipoli",
            "type": "shell",
            "command": "gjs",
            "args": [
                "./comipoli"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "focus": true,
                "reveal": "always",
                "panel": "new"
            }
        }
    ]
}


こうしておけば部品ファイルを開いている状態でも実行できて便利。
下に出るコンソールから Ctrl+C で強制終了もできる。
終了したら何かキーを叩けばコンソールは終了してくれる。

後はスニペットをガシガシ登録。
Ctrl+Space を先に打ち込む必要があるのがメンドイぞ!

{
	 "_connect": {
		"prefix": "con",
		"body": [
			"${1:Widget}.connect(\"${2:SignalName}\", ($3)=> {",
            "    $0",
            "});"
		],
		"description": "connect"
	},
	"_imports": {
		"prefix": "imp",
		"body": [
			"const ${1:GLib} = imports.gi.${1};$0"
		],
		"description": "imports"
	}
}

って。
おいおい Gedit より便利じゃなったじゃないか!
シェルスクリプトだけで拡張できる Gedit よりはるかに面倒だが。

でも vscode って思いっきり拡張子依存なのよね。
拡張子が無いファイルを扱うことが多い Linux ではチト困る。
それを補う Gedit のモードラインが再現できればなぁって感じ。