AdvancedNewFile: creating files and folders without leaving the keyboard
File creation plugin for Sublime Text
At a glance
- What is it?
- AdvancedNewFile is a Sublime Text plugin that opens a small input, lets you type a path, and creates the file and the directories above it. The interesting part is not the feature, it is a decade between releases, a hard cut-off for Sublime Text 2 and 3, and a settings file that is long enough to read like a small configuration language.
- Who is it for?
- Adopt AdvancedNewFile if you work in Sublime Text 4 and create files faster than you can navigate folders, because the plugin fills in the current path, completes directories and creates the missing ones as it goes. Do not adopt it if you are still on Sublime Text 2 or 3 and need anything added after version 1.7.0, since that is the final version supporting those releases.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 40 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A small plugin with a decade between its releases
AdvancedNewFile is a file creation plugin for Sublime Text, and its stated purpose is to allow faster file creation within a project.
The feature itself is easy to describe. You bring up an input, type a path and a file name, press enter, and the file is created. If the directories you typed do not exist, they are created too. The path you are building is shown in the status bar as you type, and the input completes directory names as you go.
The interesting part is the release history. The listed versions are 1.5.0 from December 2014, 1.7.0 from December 2016, and 1.8.0 from 2026-09-13. So the project sat essentially still for about a decade and then shipped a new major-ish version, with the last push to the repository on the same day as that release.
The plugin is MIT licensed, and the repository layout is what you would expect for a Sublime Text package. There is a plugin file, a package directory with the implementation, a default settings file with the sublime-settings extension, a commands file, a menu file, three separate key maps for Linux, macOS and Windows, a message catalogue directory with a message file for translations, a changelog, a Python version file and a project file whose only configuration is for the formatter.
That layout tells you how the plugin is installed and how it is localised, and the two are related, because a plugin that ships translations needs a message catalogue and a way for the editor to read it.
Support for Sublime Text 2 and 3 stopped at version 1.7.0
The compatibility section is short and has a clear conclusion.
Version 1.7.0 is the final version that will be compatible with Sublime Text 2 and 3. Compatibility with those versions of the editor is no longer planned to be maintained and will not receive future enhancements. If the latest features are needed, the advice is to upgrade to Sublime Text 4.
That is worth understanding as a policy rather than as a bug list. A plugin that supports an editor version nobody has released in a long time carries a maintenance cost that has to be paid on every change, and the author has decided to stop paying it. The cost of that decision falls on anyone still on the older editor, who is pinned to a six-year-old release and will not see fixes.
For a reader evaluating the project today, the practical summary is simple. If you are on Sublime Text 4, the current version is for you. If you are on 2 or 3, the version you can have is 1.7.0, and the newest features are on the other side of an editor upgrade.
There is a small vestige of the older support in the installation instructions, which still mention that you may need to restart Sublime Text 2 for the plugin to load, and which list the package directories for both version 2 and version 3 of the editor. That is the practical shape of a project keeping a compatibility surface for an editor generation it no longer develops against.
Install it through Package Control, or copy a folder
There are two installation methods, and the README recommends the first.
Package Control is recommended because it handles updating the packages as they become available. You open the Command Palette, enter the install package command, and search for the short name, which appears in the list of available commands. The abbreviated name matters here, because the plugin is called AdvancedNewFile and Package Control shows it under a short form, so searching for the full name can find nothing while the short form works.
The manual method is to clone or copy the repository into the packages directory, and here the README flags a step that is easy to miss: you have to rename the folder to the plugin's name if you use this method. The packages directory has a different location on each operating system, and the README lists them for both editor generations, with a note that on Windows the path may differ depending on how the editor was installed, which is a real wrinkle for people who installed it in the non-default way.
Both paths end the same way, which is that the plugin is loaded by the editor and bound to a key. The README notes that with either method you may need to restart the editor, which is advice from the era when plugins were loaded once at start-up and not watched afterwards.
Two key bindings per platform, and one that writes a Python init file
The key map section is where the plugin earns its place in a keyboard-driven workflow, and it has a detail that is specific to Python projects.
On Windows, the general binding to create new files is ctrl, alt and n. On macOS and Linux the super key plays the role of the Windows key and the command key respectively, so the general binding is super, alt and n, with shift added for the second binding.
That second binding is the interesting one. In addition to creating the folders specified, new folders will also contain an init file with the double underscore form. In other words, one shortcut creates a package directory tree with the Python package marker already in place, and the other creates plain directories. For anyone working in Python, that removes a step that would otherwise happen every time a new package is started.
The README also says how to debug the bindings, which is more useful than it sounds. If you have issues with key maps, it suggests running a separate conflict finder tool, which is also available through the package manager, or setting command logging to true by entering a call in the Sublime Text console. The second method is the one to remember, because it works without installing anything and tells you whether the editor is even seeing your binding.
The key maps live in three separate files, one per platform, which is the reason the bindings differ in the first place: the super key means different things on different systems.
The default root decides where every new file lands
The settings section is the longest part of the README, and one setting in it explains most of the rest.
The default root setting decides where the plugin assumes it is working. Its default value is the top directory of the folders listed in the window, and if that cannot be resolved, the home directory is used instead. The setting accepts four values. A project folder value takes the path from the folder index setting. A current value takes the directory of the current active view. A home value takes the home directory. And a path value takes an explicit path, which the README says should be absolute, and which is relative to the plugin's own package directory if given as a relative path.
The fallbacks are worth noting because they are the difference between a plugin that works everywhere and one that does not. If the current view's directory cannot be resolved, the top level folder in the window is used, and if that cannot be resolved either, the home directory is used. So the worst case is a file created in your home directory rather than an error, which is a defensible choice for a tool that is invoked with a keystroke and should never fail silently.
Two companion settings complete the picture. The path setting is the path used when the path value is selected for the root, and the folder index setting is an integer naming which folder in the window to use, defaulting to the top level folder if the index is out of range.
The same three settings, root, path and folder index, appear again for aliases, which is the point of the next section.
Aliases, cursor text and the file that holds it all
The remaining settings fall into two groups, and the first is the alias system.
An alias is a dictionary that contains a set of aliases tied to a directory, and a platform specific alias dictionary does the same thing per operating system. The reason there is a separate root for aliases is that aliases are usually relative paths, and the alias root setting defines what those relative paths are relative to, using the same four choices as the default root, with its own path and folder index settings alongside.
The second group is about the input box itself. A default initial setting is a string that is automatically inserted into the new file creation input, which is a place for a small template. The use cursor text setting decides whether text from a buffer, bound by quotes or a selected region, is inserted into the input automatically, and when several cursors are involved the first qualifying one wins. A show files setting decides whether regular files appear in the completion list as well as directories, and a show path setting controls whether the path of the file being created is displayed in the status bar. An ignore case setting decides whether the completion list is case insensitive, and an auto refresh setting decides whether folders refresh automatically.
You change all of this in two places, the default settings and your own copy, both reachable from the Preferences menu, and the defaults ship in a settings file in the package.
One last thing for readers: the plugin also supports renaming and deleting files, but those commands are deliberately not bound to any key, and it ships no menu entries either, so both have to be added by hand. The README points at the wiki for the command list and for the menu entries, and the wiki is where the advanced path usage is documented as well.
Editorial conclusion
Adopt AdvancedNewFile if you work in Sublime Text 4 and create files faster than you can navigate folders, because the plugin fills in the current path, completes directories and creates the missing ones as it goes. Do not adopt it if you are still on Sublime Text 2 or 3 and need anything added after version 1.7.0, since that is the final version supporting those releases. Before you configure it, decide what the default root should be, because that setting drives both the path you type and the aliases you define, and check the key bindings for conflicts with your own, since the plugin ships a separate map per platform and a conflicting shortcut will silently do nothing.
Frequently asked questions
What does the AdvancedNewFile plugin do in Sublime Text?
It opens an input where you type a path and a file name, and on enter it creates the file and any directories that do not exist yet. The path is shown in the status bar as you type, and the input completes directory names.
Which versions of Sublime Text does AdvancedNewFile support?
Version 1.7.0 is the final release compatible with Sublime Text 2 and 3, and those versions will not receive further maintenance or enhancements. The current release, 1.8.0 from 2026-09-13, targets Sublime Text 4.
How do I install AdvancedNewFile?
The recommended way is Package Control, which also handles updates: open the Command Palette, run the install package command and search for the short name of the plugin. The manual alternative is to clone or copy the repository into the packages directory, renaming the folder to the plugin name, with the directory location listed per operating system in the README.
What do the AdvancedNewFile key bindings do?
The general binding creates a new file, and the variant with shift also puts a Python init file into the folders it creates. On Windows the general binding is ctrl, alt and n, and on macOS and Linux it is super, alt and n. The README suggests a key map conflict finder, or enabling command logging in the editor console, if a binding does not fire.
What is the default_root setting in AdvancedNewFile?
It decides where the plugin assumes it is working, and it accepts the top folder of the window, the current active view's directory, the home directory, or an explicit path, with companion settings for the path and for the folder index. If the current view cannot be resolved the top level folder is used, and if that fails the home directory is used.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/sublimetext-advancednewfile)Was this useful?