# 开发工具

ChoiceScript 是一门相对简单的语言，无需真正的编程知识或除 ChoiceScript 本身外的特定软件。开发ChoiceScript 游戏真正需要的，不过是一个简单的文本编辑器、一个浏览器，以及学习一些相当基础的脚本命令和技巧的意愿。但这已不再必然是最佳、甚至最简单的开发方式。

## 社区维护的开发工具

目前有两个社区驱动（即非官方）的软件项目，旨在为 ChoiceScript 作者提供免费的开发工具，两者均有公开的发布版本，且自身也在持续开发中。这些应用程序为解决相同问题提供了两种截然不同的方法。因此，我们敦促所有 ChoiceScript 作者——无论是新手还是有经验的编码者——都公平地试用这两款应用程序，看看哪一款最适合你。毕竟，如果你投身于我们这项美妙的爱好，你将花费大量时间开发你的游戏，所以最好确保你使用的是最适合自己的理想工具。

特别重要的是，请注意，如果您决定使用这些免费应用程序中的任何一个，您就无需自行下载并尝试理解 ChoiceScript，无论是初次使用还是应对未来的 CS 更新。您不必担心理解文件结构或正确设置开发环境的问题。这两款应用程序都通过完全集成 ChoiceScript 脚本语言，为您承担了所有这些繁琐工作，并且通常会在 CS 更新后不久自行更新。

我们邀请这些应用程序背后的团队各自提供简要概述，供您参考：

### Chronicler

适用平台：Windows、Mac 和 Linux。

Chronicler 是一款专为 ChoiceScript 设计的可视化代码编辑器。它允许用户放置“气泡”并将其连接起来，以创建游戏的流程图。随后，编辑器会根据此图自动生成 ChoiceScript 代码。此外，它还内置了运行和调试工具，用户无需离开编辑器即可测试游戏。

该调试工具在 CS 编辑器中颇具革命性，因为它提供了将变量初始化为非起始值并跳转至游戏中任意位置的功能。这样一来，用户可以直接从当前正在编写的场景开始测试游戏，而无需每次都从头开始完整游玩。

其他功能包括拼写检查以及上下文感知的 ChoiceScript 代码自动补全。

Chronicler 2.0 目前正在开发中，主要目标是大幅改进用户界面。

#### 相关链接

* 编年史网站：待公布
* [CoG 论坛主题](https://forum.choiceofgames.com/t/tool-chronicler-choicescript-visual-code-editor/6811)（含下载链接）

（王洛木：这个软件作者似乎弃坑了，Windows 版本甚至下载不到。）

### CSIDE

适用于：Windows、Mac 及网页版（后者需免费 Dropbox 在线账户）

ChoiceScript 集成开发环境 (CSIDE) 提供了一种"动手实践"的 CS 编码方式，让您能够在一个简洁的套件中管理文件、撰写故事并测试游戏脚本！它包含旨在简化整个创作流程的功能，消除所有可能的困难与繁琐工作，只为您保留趣味部分。

热门功能包括：多项目支持、"智能"缩进、强大的测试与调试工具，以及完全集成的（官方）快速测试与随机测试功能——更不用说多功能代码编辑器应具备的所有特性，例如便捷的代码高亮、拼写检查（支持美式或英式英语，并提供用户词典）、多种快捷键以提升易用性，等等！\
在众多实用的示例项目中，CSIDE 为非程序员及其他 ChoiceScript 新手提供了一份详细的、循序渐进的交互式教程——《学习 ChoiceScript 基础》，旨在帮助您按照自己的节奏逐步掌握。

#### 相关链接

* [CSIDE 网站](https://choicescriptide.github.io/)
* [CoG 论坛主题](https://forum.choiceofgames.com/t/cside-the-choicescript-ide/27622)
* [YouTube 演示视频](https://www.youtube.com/watch/yGXOy7zFi7I)
* [CSIDE 推特](https://twitter.com/ChoiceScriptIDE)

## 文本编辑器

如果你选择不使用上述任一可用应用程序，要开发一款 ChoiceScript 游戏，你通常只需要一个文本编辑器。

首先需要明确的是，文本编辑器与文字处理软件不同。文本编辑器处理纯文本，适用于编程；而文字处理软件处理的是为打印或人类阅读而设计的格式化文本。记事本是一个文本编辑器，而 Microsoft Word 是一个文字处理软件。你不能用文字处理软件替代文本编辑器，事实上，用文字处理软件编写游戏然后复制到文本编辑器中几乎必然会导致错误。

几乎每台现代电脑都自带文本编辑器。在 Windows 系统中是“记事本”，在 macOS 系统中是“文本编辑”。然而，记事本和文本编辑都是非常基础的文本编辑器，虽然它们能完成工作，但使用它们会让某些事情变得明显更加困难。建议您下载以下任一免费的文本编辑器，它们中的任何一个都能为 ChoiceScript 开发提供更有用的功能：

* [Visual Code](https://code.visualstudio.com/) (Windows, OSX, Linux)
* [Atom](https://atom.io/) (Windows, OSX, Linux)
* [Brackets](http://brackets.io/) (Windows, OSX, Linux)
* [Sublime Text](https://www.sublimetext.com/) (Windows, OSX, Linux)

## 网页浏览器

如果仅使用文本编辑器开发你的 ChoiceScript 游戏，在开发过程中测试游戏通常需要使用网页浏览器，在其中加载位于 "mygame" 文件夹 (..\web\mygame) 中的 index.html 文件。如果你愿意，甚至可以将此设为浏览器主页（适用于需要频繁开发游戏的情况）：在浏览器中加载 index.html 文件，从浏览器地址栏复制完整的目录和文件路径，然后直接粘贴到默认主页 URL 设置中（通常位于 工具-->选项 或类似菜单下）。如果不希望将其设为主页，你也可以像收藏任何网页那样将此页面添加为书签。

推荐 Windows 用户使用 Mozilla [Firefox](http://www.mozilla.org/en-US/)，Mac 用户使用 [Safari](http://www.apple.com/safari/)。微软的 [Internet Explorer](http://windows.microsoft.com/en-GB/internet-explorer/products/ie/home) 也仍可使用，不过一般来说，新版 ChoiceScript 在 Mozilla Firefox 上为用户提供的[错误信息](https://choicescriptdev.fandom.com/wiki/Error_messages)反馈更为完善。（注：鉴于过去 IE 在网络上的使用率相较于 Firefox 和 Chrome 普遍下降，这被认为是 Choice of Games 的官方政策。）

（王洛木：现在是 2026 年，真的还有人会用 IE 上网冲浪么……）

请注意，对于大多数 ChoiceScript 开发者而言，谷歌 Chrome 被视为一个糟糕的选择，因为该浏览器不支持本地脚本运行且不提供错误信息。虽然已知存在技术变通方案可使其离线工作，但大多数使用 Chrome 的 ChoiceScript 开发者只能通过将游戏上传至网络进行测试。相比之下这种方式效率低下，故不推荐使用。

（王洛木：在 2026 年，这一问题早就得到了改善，现在三大浏览器都随便用的。）

## 移动设备写作

但是，如果想随时随地用 ChoiceScript 写作呢？

### iOS

#### Textastic（售价 9.99 美元）

支持 ChoiceScript 语法高亮、测试游戏，并能通过 iCloud、Dropbox、(S)FTP、Google Drive 和 WebDAV 同步游戏文件。有一篇很棒的教程教你如何设置：[如何在 PC、Mac 和 iPad 之间无缝使用 ChoiceScript](http://nissacam.com/post/131456286488/how-to-work-seamlessly-in-choicescript-between-pc)（iPhone 同样适用）。

### Android

#### DroidEdit

Google Play 上的 [DroidEdit](https://play.google.com/store/apps/details?id=com.aor.droidedit) 与上文提到的 Visual Studio Code 非常相似。要[下载](https://github.com/dfabulich/choicescript/archive/master.zip) ChoiceScript 本身，你可能需要类似 [Download All Files](https://play.google.com/store/apps/details?id=com.hwkrbbt.downloadall) 这样的应用，而要解压 ChoiceScript 文件，则需要类似 [WinZip](https://play.google.com/store/apps/details?id=com.winzip.android) 的工具。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://raster.gitbook.io/zh-hans_choicescript-guide/she-qu-zhi-nan/ji-chu-jiao-cheng/kai-fa-gong-ju.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
