Difference between revisions of "Sublime Text (日本語)"

(Created page with "特に言及のない限り、以下の手順は [http://sublimetext.com/ Sublime Text] 2 および 3 のどちらでも動作します。 == Lua Love == [https://sublime.wb...")
 
m (minor fixed.)
Line 9: Line 9:
 
# 別の入力フィールドが表示されるまで待機してから '''Lua Love''' パッケージをインストールします。
 
# 別の入力フィールドが表示されるまで待機してから '''Lua Love''' パッケージをインストールします。
 
#  '''command palette''' から '''Set Syntax: Lua (Love)''' (構文設定: Lua (Love) で構文強調表示を有効にします。
 
#  '''command palette''' から '''Set Syntax: Lua (Love)''' (構文設定: Lua (Love) で構文強調表示を有効にします。
# In Sublime 3では、 ''LuaLove - Love2D''' を選択して Ctrl+B を使用することでビルドシステムを起動できます。
+
# Sublime 3では、 ''LuaLove - Love2D''' を選択して Ctrl+B を使用することでビルドシステムを起動できます。
 
# Sublime 2 では、手作業でビルドスクリプトを編集する必要があります (Windows では <code>C:\Users\....\AppData\Roaming\Sublime Text 2\Packages\Lua Love\LuaLove.sublime-build</code>):
 
# Sublime 2 では、手作業でビルドスクリプトを編集する必要があります (Windows では <code>C:\Users\....\AppData\Roaming\Sublime Text 2\Packages\Lua Love\LuaLove.sublime-build</code>):
  
Line 40: Line 40:
 
</source>
 
</source>
  
Sublime 2 および 3 は共に環境変数 [[PATH(日本語)|PATH]] へ LÖVE バイナリのパスを追加する必要があります。この作業はビルドスクリプトで  <code>"love"</code> のパスを変更することにより回避できます。これは [http://stackoverflow.com/questions/21190392/how-to-change-default-code-snippets-in-sublime-text-3 Sublime 3 ではかなり面倒な作業]]です。
+
Sublime 2 および 3 は共に環境変数 [[PATH (日本語)|PATH]] へ LÖVE バイナリのパスを追加する必要があります。この作業はビルドスクリプトで  <code>"love"</code> のパスを変更することにより回避できます。これは [http://stackoverflow.com/questions/21190392/how-to-change-default-code-snippets-in-sublime-text-3 Sublime 3 ではかなり面倒な作業]です。
  
 
== 簡易ビルドシステム  ==
 
== 簡易ビルドシステム  ==

Revision as of 09:29, 3 May 2017

特に言及のない限り、以下の手順は Sublime Text 2 および 3 のどちらでも動作します。

Lua Love

Lua Love パッケージは構文強調表示、スニペット、自動補完、ビルドルールを提供します。

  1. Package Control (パッケージ管理) をインストールしてから、 Sublime を再起動します。
  2. Ctrl+Shift+P を押して command palette (コマンドパレット) を開いてから Package Control: Install Package (パッケージの管理: パッケージのインストール)を使用します。
  3. 別の入力フィールドが表示されるまで待機してから Lua Love パッケージをインストールします。
  4. command palette から Set Syntax: Lua (Love) (構文設定: Lua (Love) で構文強調表示を有効にします。
  5. Sublime 3では、 LuaLove - Love2D' を選択して Ctrl+B を使用することでビルドシステムを起動できます。
  6. Sublime 2 では、手作業でビルドスクリプトを編集する必要があります (Windows では C:\Users\....\AppData\Roaming\Sublime Text 2\Packages\Lua Love\LuaLove.sublime-build):
{
	"file_regex": "^(?:(?:\t)|(?:.+: ))(.+):([0-9]+): (.*)$",
	"selector": "source.lua",
	"shell": true,
	"cmd": ["love", "${project_path:${file_path:.}}"],

	"variants": [
		{
			"name": "Love2D",
			"shell": true,
			"cmd": ["love", "${project_path:.}"],
			"osx":
			{
				"cmd": ["love $project_path"]
			}
		},
		{   "name": "ldoc: File",
			"shell": true,
			"cmd": ["ldoc -d $project_path/doc/$file_base_name -f markdown -t $file_base_name $file"]
		},
		{   "name": "ldoc: Project",
			"shell": true,
			"cmd": ["ldoc -d $project_path/doc -f markdown -t $project_base_name $project_path/src/"]
		}
	]
}

Sublime 2 および 3 は共に環境変数 PATH へ LÖVE バイナリのパスを追加する必要があります。この作業はビルドスクリプトで "love" のパスを変更することにより回避できます。これは Sublime 3 ではかなり面倒な作業です。

簡易ビルドシステム

ビルドシステムを新規作成します: ツール -> ビルドシステム -> 新規ビルドシステム および下記のコードを使用します。

Windows:

{
    "selector": "source.lua",
    "cmd": ["C:/Program Files/LOVE/love.exe", "${project_path:${file_path}}"],
    "shell": true,
    "file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$"
}

Mac OS X:

{
    "selector": "source.lua",
    "cmd": ["/Applications/love.app/Contents/MacOS/love", "${project_path:${file_path}}"],
    "file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$"
}

Linux:

{
    "selector": "source.lua",
    "cmd": ["love", "${project_path:${file_path}}"],
    "file_regex": "^Error: (?:[^:]+: )?([^: ]+?):(\\d+):() ([^:]*)$"
}

既に言及した格納先へ love-run.sublime-build として保存してください。

これで Ctrl+B または Cmd+B を押すことで LÖVE プロジェクトを実行できます。

判明している問題

  • このビルドシステムは LÖVE の格納先に依存します。 "cmd": 行のパスを確認してください。
  • このコードは $file_path の内容に半角空白がある場合は動作するものと思われます。
  • このコードは main.lua と同じフォルダにファイルがある場合のみ動作するものと思われます。

コンソール出力

標準では LOVE アプリケーションが閉じられるまで Sublime Text にて print() 呼び出しといった出力を一切表示しません。

コンソール出力をライブ表示するためには下記のコードを main.lua ファイルの上部、または conf.lua へ内容を追加します:

io.stdout:setvbuf("no")

エラーへのジャンプ

実行中にエラーが発生した場合は、 Lua が遭遇したエラーを通り抜けるために F4 (次のエラー) および SHIFT-F4 (前のエラー) を使用できます。

関連