Nodejs - Atom:Github 出品酷炫帅的代码编辑器, sublime textmate 强力竞争对手
Nodejs - Atom:Github 出品酷炫帅的代码编辑器, sublime textmate 强力竞争对手
Atom – Github 开源的 web 开发编辑器, http://t.cn/8F391oW 跟 sublime, textmate 差不多的特性和特点, 使用web技术开发, 原生支持 Node.js, 模块化设计, 看起来 吊, 炫, 酷的感觉. 感觉会是 sublime text的有力竞争对手. 其最大的特点应该是 hackable, 容易开发扩展
目前还处于内测阶段, 具体信息参看官方网站 http://atom.io
Nodejs - Atom:GitHub 出品酷炫帅的代码编辑器, Sublime Text 的强力竞争对手
摘要: 本文将介绍 GitHub 开源的一款 Web 开发编辑器——Atom。Atom 不仅具备与 Sublime Text 和 TextMate 类似的功能,而且使用 Web 技术开发,原生支持 Node.js,并且具有模块化的设计。Atom 最大的特点在于其可扩展性(hackable),这使得开发者能够轻松地创建和安装插件以增强其功能。
Atom 的特性:
-
Web 技术开发:Atom 是用 JavaScript、HTML 和 CSS 开发的,这意味着你可以利用熟悉的 Web 技术来编写代码。
-
Node.js 支持:由于 Atom 原生支持 Node.js,你可以直接在编辑器中运行和调试 Node.js 代码。
-
模块化设计:Atom 的插件系统允许用户通过简单的 API 来创建和管理自己的插件,这极大地增强了编辑器的功能。
-
可扩展性:你可以使用 Atom 提供的 API 来开发自定义插件,从而实现更高级的功能。例如,你可以在 Atom 中添加一个新的命令,该命令可以执行特定的任务,如格式化代码或搜索文件。
示例代码:
假设你想创建一个简单的 Atom 插件,用于格式化选中的文本。你可以创建一个名为 format-text.coffee
的文件,并在其中添加以下代码:
# 在 Atom 中创建一个命令,该命令将格式化选中的文本
{TextEditor} = require 'atom'
module.exports =
activate: (state) ->
atom.commands.add 'atom-workspace', 'format-text:format', ->
editor = atom.workspace.getActiveTextEditor()
if editor?
selectedText = editor.getSelectedText()
formattedText = selectedText.toUpperCase() # 将选中的文本转换为大写
editor.insertText(formattedText)
上述代码首先定义了一个命令 format-text:format
,当该命令被触发时,它会获取当前活动的文本编辑器并格式化选中的文本(将其转换为大写)。你可以通过点击菜单栏中的“Packages” -> “Commands Palette”并输入 format-text:format
来测试这个命令。
总结:
Atom 是一个非常强大的代码编辑器,不仅具备现代编辑器的常见功能,而且还具有高度的可定制性和扩展性。借助于 Node.js 的支持和丰富的插件生态系统,开发者可以轻松地扩展 Atom 的功能,使其成为一个非常强大的开发工具。
mark
好东西
已提交申请.但会没有回复哈.
估计最快得三四周才行
速度确实慢…mac打开一个2K行的文件不行了…
能用上,好东西。
我也提交了 到现在也没收到回复0.0
不是开源的么? 申请什么?
Atom 是 GitHub 开源的一款基于 Web 技术的现代化代码编辑器,其界面酷炫且功能强大。它使用 Web 技术(如 HTML、CSS 和 JavaScript)进行开发,并且原生支持 Node.js,这意味着你可以使用 Node.js 来编写扩展插件,以实现自定义的功能。
示例代码:使用 Node.js 编写一个简单的 Atom 插件
假设我们要创建一个简单的 Atom 插件,该插件会在用户保存文件时显示一条通知。
步骤 1:创建一个新的 Atom 插件项目
apm init my-plugin
这将引导你通过一系列步骤来设置一个新的 Atom 插件项目。
步骤 2:编辑 lib/my-plugin.coffee
文件
module.exports =
class MyPlugin
constructor: (props) ->
atom.workspace.observeTextEditors (editor) ->
editor.onDidSave ->
atom.notifications.addInfo('文件已保存!')
# 在 package.json 中注册插件
{consumeTextEditorComponent} = require 'atom-space-pen-views'
module.exports.activate = -> atom.packages.serviceHub.consume 'text-editor-component', '1.0.0', consumeTextEditorComponent
步骤 3:编辑 package.json
文件
确保你的 package.json
文件中包含了以下内容:
{
"name": "my-plugin",
"main": "./lib/my-plugin",
"version": "0.0.0",
"description": "A simple Atom plugin",
"activationCommands": {
"atom-workspace": ["my-plugin:save-notification"]
},
"repository": "https://github.com/yourusername/my-plugin",
"license": "MIT",
"engines": {
"atom": ">=1.0.0 <2.0.0"
}
}
步骤 4:加载并测试插件
- 打开 Atom。
- 进入
Settings > Install
,找到并安装你的插件。 - 打开一个文件并保存,你应该会看到一条通知 “文件已保存!”
以上代码展示了如何使用 Node.js 和 Atom 的 API 来创建一个简单的插件。该插件在每次文件保存时显示一条通知。通过这种方式,你可以根据自己的需求扩展 Atom 功能,使其成为一个强大的开发工具。