有没有办法强制 Sublime text 3 在保存时编译 Typescript 代码?在终端和 Sublime 之间来回切换有点烦人。谢谢!
问问题
2648 次
4 回答
2
我不知道如何在保存时执行此操作,但您可以通过单击 ctrl+b 来执行此操作。为了使它起作用,请执行以下操作:
- 转到工具->构建系统->新建构建系统
复制并粘贴以下内容:
{ "cmd": ["tsc","$file"], "file_regex": "(.*\\.ts?)\\s\\(([0-9]+)\\,([0-9]+)\\)\\:\\s(...*?)$", "selector": "source.ts", "windows": { "cmd": ["tsc.cmd", "$file"] } }
将其保存为“myTypeScript.sublime-build”
工具->构建系统并选择您刚刚创建的构建系统“myTypeScript.sublime-build”
每次你想编译只需点击 ctrl+b
你可以在这里看到关于它的一些解释和更多信息
于 2017-02-20T09:57:19.063 回答
2
打开包含 .TS 文件的文件夹的终端窗口。执行 'tsc -w' 并让它监视对任何 .ts 文件的更改,并将它们编译为 .js 。您可以为 nodejs 使用最新的命令行 typescript(确保安装 nodejs 和它的 typescript)。让终端窗口保持打开状态,直到您想退出。无需在保存功能上进行任何编译。无论如何,这种选择很少受到尊重。sublime text 3 中的 typescript 包已经过时了。
于 2017-09-16T09:56:09.690 回答
1
谢谢!这适用于单个文件。但我忘了提到我在文件夹中有几个脚本。幸运的是,在网上找到了另一个解决方案。如果其他人需要它:
- 在所有脚本所在的同一文件夹中创建一个新文件(/js在我的例子中)并将其命名为 tsconfig.json
- 将此代码粘贴到文件中:
{ "compilerOptions": { "emitDecoratorMetadata": false, "module": "commonjs", "target": "ES5" }, "files":["your_script_0.ts", "your_script_1.ts"], "exclude": [ "node_modules" ] }
在终端导航到源文件夹(/js在我的例子中)并使用以下命令:
- 一次性编译:
tsc -p .
- 保存时编译:
tsc -w
- 一次性编译:
如果我对命令的使用有误或不太正确,请纠正我。但至少该解决方案对我有用。
于 2017-02-21T04:06:33.803 回答
0
对于崇高的文本用户
- 从此站点安装包控制器。
- 打开 sublime text 并按下
ctrl+shift+p
并写入安装包,然后按 enter。 - 写
Sublimeonsavebuild
并按回车。 - 转到
preferences > package settings > Sublimeonsavebuild > setting - user
并粘贴下面的代码并保存。
{ "filename_filter": "(/|\\\\|^)(?!_)(\\w+)\\.(ts|sass|less|scss)$", "build_on_save": 1 }
- 转到
tools > build system > new build system
并粘贴下面的代码,将其另存为“Typescript”并选择此构建。
{ "cmd": ["tsc","$file"], "file_regex": "(.*\\.ts?)\\s\\(([0-9]+)\\,([0-9]+)\\)\\:\\s(...*?)$", "selector": "source.ts", "windows": { "cmd": ["tsc.cmd", "$file"] } }
- 现在,每当您保存 .ts 文件时,它都会自动编译为 .js 文件。
- 享受!!
于 2018-11-19T13:22:12.837 回答