Cross-Editor Configuration

Cross-Editor Configuration

Someone strongly recommended using a certain IDE for a project at the office. I'm not a big fan of IDEs because they tend to impose a text editor on you or integrate your preferred one sub-optimally. Either way, your text editing experience suffers. Looking into how good or bad the integration might be for my preferred editor (it's still a bit of an uphill battle for that recommended IDE) I came across something tangentially related: EditorConfig.

EditorConfig let's you define a number of preferences with respect to text files independent of the text editor you use. If you're the only one working with those text files that may not be a big deal, but the picture changes when you are collaborating on those files with others. Having to change your preferred text editor for something else just to stick to the common text file conventions for a project is a drag.

Simply adding a suitable .editorconfig file to all your projects' top-level directories could work wonders, assuming your preferred text editor is supported by EditorConfig. A large number have out of the box support and more yet only require a small(?) plugin.

I enthusiastically set up an .editorconfig file in my $HOME directory and integrated that with my preferred text editor. Worked like a charm. So much so that I quickly found out that I also had to add .editorconfig files to just about every project to keep it from changing all the files I touched all over the place. Not all people take kindly to "spurious" or unrelated changes in VCS commits.

Oh well, I guess I'm going to have to introduce EditorConfig in a few places and see if we can settle on a convention for the project-wide settings. Some places seem to have none whatsoever.

BTW, in case you're curious, my personal preferences can be found in my dotter/emacs repository. Emacs and I go back for more than a quarter century, so I am quite hard pressed to change habits.