我经常被问到的一个关于CIDER的问题是”我如何基于每个项目配置不同的XXX?”. 有时你会发现有人建议(甚至是去实现)将一些复杂的可配置变量根据不同情况设置不同的值, 幸运的是,我们无须怎么费力就能做到这一点. Emacs已经内置了directory-local(缩写为dir-local)变量来满足这一需求.
望文生义, dir-local变量的值对指定目录(及其子目录)下的所有文件都生效. 当然你也可以在major-mode或子目录中重新设置该变量的值. 要配置一个dir-local变量,步骤为:
.dir-locals.el
的文件. 保存该文件,配置就完成了. 经过上面的步骤之后,你就配置了一个变量,该变量在当前目录下的任意位置的值都是指定的值. 因此,请确保你是在项目的根目录执行的这个命令. 若你使用Projectile, projectile-edit-dir-locals
这个命令就会做这些动作.
还有些事情需要注意一下: