OpenSCAD User Manual/Using an external Editor with OpenSCAD
Why use an external editor
Many people prefer to use a certain editor. They are used to the feature set and know the keybindings. OpenSCADs editor is functional and simplistic but might lack features people know from other editors.
How to use an external editor
OpenScad is able to check for changes of files and automatically recompile if a file change occurs. To use this feature enable "Design->Automatic Reload and Compile"
Once the feature is activated, just load the scad file within OpenSCAD as usual ("File->Open.."). After that, open the scad file in your favorite editor too. Edit and work on the scad file within the external editor. Whenever the file is saved to disk (from within the external editor), OpenSCAD will recognize the file change and automatically recompiles accordingly.
The internal editor can be hidden by minimizing the frame with the mouse or by selecting "View->Hide editor".
Support of external editors
In principle all editors can be used. For some exist extensions/modes to provide features for OpenSCAD.
- Emacs: OpenSCAD delivers a emacs mode for OpenSCAD files. Use the link or the emacs package management ELPA and the emacs marmelade repository.
- Kate: nerd256 provides a kate syntax file for OpenSCAD. See Instructions tab in Thingiverse to install it. You could create also a kate External tool to open OpenSCAD with the current file with script
- Notepad++: TheHeadlessSourceMan provides a Notepad++ syntax file for OpenSCAD. See Instructions tab in Thingiverse to install it.
- Geany: cobra18t provides a Geany syntax file for OpenSCAD. See Instructions tab in Thingiverse to install it.
- VIM: vim.org provides a VIM syntax file for OpenSCAD. Also, a dictionary file is here.
- Gedit: Andy Turner provides a Gedit syntax file for OpenSCAD.
- Atom: There is a Language OpenSCAD package for Atom that provides highlighting.
Besides using your editor of choice, this solutions enables the flexible usage of multi-monitor set-ups. One can have one monitor set-up to depict the 3D object on the entire screen and a second monitor for the editor and other tools.