Atom

Revision as of 14:03, 20 June 2016 by imported>Kicoax (Added info about build targets)

Atom is a completely free, open-source, highly-extensible text editor based on Chromium and Node.js. It was created and is being actively developed by the GitHub team. It can be downloaded from the official Atom site. Atom's interface and functionality is very similar to Sublime Text, so it's a fairly painless transition if you have experience with it. Atom has an extremely flexible package system that allows customization of virtually everything about the editor.

Installation

Install Atom

  1. Go to the Atom website, download the setup file, and run it.

Install Packages

Syntax highlighting and snippets are provided by the language-papyrus package. Compilation is provided by the build and build-papyrus packages.

  1. In Atom, open the settings tab (File -> Settings, or Ctrl+,)
  2. Select the Install tab on the side
  3. Search for language-papyrus, then click install on the package when the results appear
  4. Repeat the previous step for build and build-papyrus
  5. To see compiler errors inline with your code, also install the linter package


If your Papyrus Compiler isn't in the default location (C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Papyrus Compiler\PapyrusCompiler.exe), then you must set it in the build-papyrus package settings:

  1. In Atom, open the settings tab (File -> Settings, or Ctrl+,)
  2. Select the Packages tab on the side
  3. Search for build-papyrus or find it in the list, and click on Settings
  4. Change the compiler path setting to your appropriate path

Usage

Snippets

Snippets are nearly identical to the Sublime Text plugin's snippets.

Compilation

There are two methods to configure compilation of your scripts; using a Papyrus project file, or manually configuring the build-papyrus settings. Using a project file is highly recommended, as it can handle compiling entire folders at the same time, and will always compile all of your scripts when building. Manual configuration will only compile the file you currently have open. In either case, you can use Ctrl+Alt+B or F9 to trigger the build.

You can choose if you want to compile for default, release (strip out debugOnly), or final release (strip out debugOnly and betaOnly) by selecting the build target. To select the active build target, press Ctrl+Alt+T or F7.

If you are keeping your scripts inside the game folder, the project/configuration file should be placed in Fallout 4\Data\Scripts\Source. Otherwise, the file should be placed in your mod's folder. These are also the folders you should have open in Atom. You should only have one project/configuration file in any folder, as build-papyrus only uses the first one it locates. Upon adding or removing a project/configuration file, make sure you run the Build: Refresh Targets command in the palette (Ctrl+⇧ Shift+P).

Project file

Make sure your Papyrus project file is in the base folder that you have open in Atom. No additional configuration is necessary.

Manual configuration

Place the below text into a file called .build-papyrus.yml in the base folder you have open in Atom:

game: fallout4
imports:
    - C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Data\Scripts\Source\User
    - C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC03
    - C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC02
    - C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC01
    - C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Data\Scripts\Source\Base
output: C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Data\Scripts\
optimize: true

If your mod's scripts are outside of the game's scripts directory, make sure you add it to the imports setting, and change the output directory. If you do not have the DLC, simply remove them from the imports setting.

Recommended packages

To further enhance your experience with Atom, there are thousands of packages for Atom available. You can browse them within the editor itself, or on the official packages site. Here are a few worth taking a look at: