最近我切换到Ubuntu / Linux并搜索了一些优秀的文本编辑器,我找到了Sublime Text,我是编码的初学者,我在Windows中使用Notepad ++。
在我下载了sublime文本之后,我试着在javascript中编写一些代码,看看它是否有效,但是它说“没有构建系统”,当我找到它时,我没有找到任何Linux指南...在Notepad ++中我所有的必须做的是点击运行和ta da,输出屏幕就在那里。
我不太了解linux或sublime文本,我的确切问题是我如何运行并在输出屏幕中查看我的代码,目前我正在使用Javascript,我不知道什么是“构建系统”,我只想在sublime文本中键入一些基本代码并在屏幕上看到结果,所以如果你帮助我,我将非常感激。
这是问题的图像:
为了解释你的问题,首先要认识到虽然这个特性被称为build
,但它同样适用于运行解释程序,就像实际构建任何东西一样;我认为它不是一个“构建”工具,更像是“运行一些外部程序来做某事”工具。
话虽如此,Sublime预装了几种不同语言的构建系统,但JavaScript并不是其中之一。可能这是因为通常不清楚特定的JavaScript文件是用于在浏览器中使用,还是通过node
之类的东西执行,但这只是猜测。
在你的情况下,文本No build system
字面上告诉你,你告诉Sublime自动为你正在编辑的文件类型选择一个合适的构建系统,但它没有找到一个,所以它没有什么可以做的。
该问题的解决方案是安装包含JavaScript构建系统的第三方软件包(请参阅Package Control)或自己创建一个。
Sublime的一个好的经验法则是,如果有一个命令,你可以从命令提示符执行,它将执行你想要的操作,而你不需要与该命令交互(即它不需要问你问题在它执行某些操作之前或之时,您可以设置Sublime来为您运行该命令。
可用于执行JavaScript的一个工具是NodeJS,它提供了一个名为node
的命令,可以在安装时执行JavaScript文件:
tmartin:dart:~> cat sample.js
console.log("Hello, world!")
tmartin:dart:~> node sample.js
Hello, world!
由于这是一个命令,我们可以从终端执行以执行我们想要的操作,并且它不需要我们与它交互以告诉它如何执行任何操作,我们可以设置构建系统来使用它。
作为如何执行此操作的示例,从菜单中选择Tools > Build System > New Build System...
,然后使用以下代码替换文件的内容,然后将其保存在Sublime默认为JavaScript.sublime-build
的位置:
{
"shell_cmd": "node \"${file}\"",
"selector": "source.js"
}
这简单地说,在执行此构建时,Sublime应该使用命令node
并为其提供您当前正在编辑的文件的名称,并且此构建系统适用于source
(JavaScript)类型的js
文件。
有了这个,如果你选择Tools > Build System > Automatic
或Tools > Build System > JavaScript
(菜单中的名称反映了你用于文件的名称),你应该可以使用Ctrl + B来执行你的程序:
注意:这是一个较旧的图像,使用cmd
而不是shell_cmd
;两个例子都会以同样的方式工作,但shell_cmd
是推荐的方式,除非你有令人信服的理由不这样做。
您可以查看official documentation on build systems,了解有关构建系统中可用选项的更多信息。
重要笔记:
command not found
或类似的错误,这意味着您输入的命令不正确,未安装该程序,或者您需要通过修改PATH
告诉您的计算机(以及Sublime)在哪里找到它;你是如何做到这一点是系统特定的。Tools > Save all on build
以确保在构建时磁盘上的文件始终是最新的是一个好主意,但这不会保存尚未具有名称的新文件。