- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
最近我切换到Ubuntu/Linux并寻找一些好的文本编辑器,我发现了Sublime文本,我是一个非常初级的编程人员,我在windows中使用了Notepad++。
下载了sublime文本后,我试图用javascript编写一些代码,看看它是否有效,但它说“没有构建系统”,当我查找它时,我没有找到任何linux指南。。。在Notepad++中,我只需要单击run和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"
}
node
并为其提供当前正在编辑的文件的名称,并且此生成系统适用于
source
类型的文件(JavaScript)。
js
或
Tools > Build System > Automatic
(菜单中的名称反映您用于文件的名称),您应该能够使用Ctrl+B来执行您的程序:
Tools > Build System > JavaScript
而不是
cmd
;两个示例的工作方式相同,但建议使用
shell_cmd
方法,除非您有令人信服的理由不这样做。
shell_cmd
的错误,则意味着您输入的命令不正确,该程序未安装,或者您需要通过修改
command not found
来告诉计算机(从而升华)在何处查找该命令;具体操作方式取决于系统。
PATH
以确保生成时磁盘上的文件始终是最新的,这是一个好主意,但这不会保存尚未命名的新文件。
关于javascript - Sublime Text在Ubuntu/Linux上说“No Build System”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52389240/
我正在编写一个 JS 程序,我有一个条件可以根据输入进行一些算术运算。如果我遇到操作类型为“add”,我需要将两个值相加;如果我得到“times”作为我的运算符值,我需要相乘。 我尝试使用基本的 if
我正在编写一个仅作为查看器的应用程序 - 无需创建、无需编辑、无需保存。 显然,那么,不会有自动保存,但是还有什么其他东西可以从 autosavesInPlace 返回 YES 改变世界,从而对观看者
Azure 开始出现以下错误: Unsupported token. Unable to initialize the authorization context. 每当我尝试更改我的应用程序时,我都
当我编写 out.println() 时,Eclipse 提示 out 无法解析。 我导入了 java.io.* 和其他 servlet 包。 最佳答案 只是在黑暗中拍摄,我认为这就是您正在寻找的出路
Azure 开始出现以下错误: Unsupported token. Unable to initialize the authorization context. 每当我尝试更改我的应用程序时,我都
是否可以执行类似的操作来检查 radio 表单是否未选中: if !($(this).find("input:checked")) {} 正确的语法是什么? 最佳答案 试试这个: $(this).fi
我正在尝试从表中选择行,其中 date 列值等于澳大利亚悉尼的当前日期 (UTC+10h)。服务器位于悉尼,因此我想使用 SYSDATETIME()。这是我的查询: SELECT * FROM dat
我听说 JavaScript 实际上并不像其他语言那样“指向”内存中的值(或对象,因为在 JS 中一切都是对象)。相反,JS 变量引用内存中的其他值/对象。这是真的?指向和引用之间的语义区别是什么?
我的计算机科学类(class)有一项作业,其中要求读取包含多个测试分数的文件,并要求我对它们进行求和并求平均值。虽然求和和求平均值很容易,但我在读取文件时遇到问题。老师说用这个语法 Scanner s
Java 的 XML 解析器似乎认为我的 XML 文档在根元素之后的格式不正确。但我已经用几种工具验证了它,但他们都不同意。这可能是我的代码错误,而不是文档本身的错误。如果你们能给我提供任何帮助,我将
根据这份文件: http://www.stroustrup.com/terminology.pdf l 值具有同一性且不可移动。 公关值是可移动的,但没有身份。 x 值具有同一性并且是可移动的。 关于
这个问题在这里已经有了答案: What does "atomic" mean in programming? (7 个答案) 关闭 5 年前。 我正在阅读 MongoDB 的 documentati
在 PHP 和 MySQL 中有没有一种方法能够比较 2 个不同的数组(列表)变量并说出有多少项是相同的 例如, $array1 = "hello, bye, google, laptop, yes"
本文来自 Effective Java Programs that use the int enum pattern are brittle. Because int enums are compil
C++ 中有一些特性是类型安全的,而另一些则不是。 C++ 类型安全示例: char c = 'a'; int *p = &c; // this is not allowed (compiler
我有一个 CS 课的作业,它说要读取一个包含多个测试分数的文件,并要求我对它们求和并取平均值。虽然求和和平均很容易,但我在读取文件时遇到了问题。老师说要用这个语法 Scanner scores = n
嗯.. 有时,PyDev 会说“ Unresolved 导入错误”。 在我的环境中 Python2.6.6 Eclipse3.7 PyDev2.2.2 错误是。 > Unresolved import
我正在向服务器发送请求,服务器正在处理请求并做出响应。但是在我的应用程序中,我收到了: Error Domain=NSURLErrorDomain Code=-1017 "cannot parse r
在我最近的一次讨论中,有人告诉我这样说是不正确的,因为 Ajax 已经是 Javascript。 上下文: “我如何在网页中 blablababal,这样它就不必刷新页面” 我的回答: “使用 Jav
下午好。 我一直在尝试使用 ffmpeg 将 .mpeg 拆分为一系列 .jpeg 图像。请注意,这是指定 here 的逆问题,但我面临的问题与该线程的作者面临的问题不同。 具体来说,我已经在我的 f
我是一名优秀的程序员,十分优秀!