打开不带扩展名的文件并更改其语言
To open the file without an extension and change its language
以下代码(您应该 运行 它与 cmd.exe)打开 Sublime Text 并将语言更改为 JSON:
sublime_text.exe -n -w --command "set_file_type {\"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\"}"
但是,我需要稍微改变它的行为。它应该更改打开文件的语言。该文件 README
没有扩展名。
sublime_text.exe C:\test\README -n -w --command "set_file_type {\"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\"}"
由于某种原因,它不起作用。语言还是"Plain Text"。我做错了什么?
当我尝试这个时,我看到它设置了在我执行命令之前处于活动状态的选项卡的语法。
这告诉我们,命令行上提供的命令在加载文件之前执行,可能是因为 ST 异步执行此操作。
对我来说,可以通过使用单独的调用来让它工作:
subl C:\test\README && subl --command "set_file_type { \"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\" }"
请注意,我没有使用 -w
,因为这会等到文件关闭后再执行命令。
此外,您可以直接使用 new_file
命令设置新文件的语法:
subl --command "new_file { \"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\" }"
显然,如果你想在新的 window 中使用它,你可以保留 -n
参数。而且,如果您希望 Sublime Text 在关闭文件之前不 return 控制 shell,那么您也可以保留 -w
,但据我所知,这仅适用于您正在打开一个文件,而不是在创建一个新文件时。如果您使用 -w
,您将无法从命令行更改语法。您最好使用 ApplySyntax
之类的插件或自己编写一个小的 Python 脚本来设置打开文件时使用路径 C:\test\README
等
的文件类型
以下代码(您应该 运行 它与 cmd.exe)打开 Sublime Text 并将语言更改为 JSON:
sublime_text.exe -n -w --command "set_file_type {\"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\"}"
但是,我需要稍微改变它的行为。它应该更改打开文件的语言。该文件 README
没有扩展名。
sublime_text.exe C:\test\README -n -w --command "set_file_type {\"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\"}"
由于某种原因,它不起作用。语言还是"Plain Text"。我做错了什么?
当我尝试这个时,我看到它设置了在我执行命令之前处于活动状态的选项卡的语法。
这告诉我们,命令行上提供的命令在加载文件之前执行,可能是因为 ST 异步执行此操作。
对我来说,可以通过使用单独的调用来让它工作:
subl C:\test\README && subl --command "set_file_type { \"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\" }"
请注意,我没有使用 -w
,因为这会等到文件关闭后再执行命令。
此外,您可以直接使用 new_file
命令设置新文件的语法:
subl --command "new_file { \"syntax\": \"Packages/JavaScript/JSON.sublime-syntax\" }"
显然,如果你想在新的 window 中使用它,你可以保留 -n
参数。而且,如果您希望 Sublime Text 在关闭文件之前不 return 控制 shell,那么您也可以保留 -w
,但据我所知,这仅适用于您正在打开一个文件,而不是在创建一个新文件时。如果您使用 -w
,您将无法从命令行更改语法。您最好使用 ApplySyntax
之类的插件或自己编写一个小的 Python 脚本来设置打开文件时使用路径 C:\test\README
等