Я совершенно новичок в Spacemacs и Emacs в целом. Я переключился на spacemacs из vim в надежде на лучшую поддержку проекта для не-братских каталогов.
В настоящее время я работаю с папками внутри установки Source Dedicated Server , поэтому существуют тысячи файлов и папок, которые находятся вне моего контроля и которые мне безразличны. Читайте как: не надо, никогда не захочется и не нужно просматривать, искать или редактировать. Я могу смело делать вид, что эти файлы не существуют.
Для контекста, каталог установки моего экземпляра SRCDS: /mnt/c/dayz/
Единственные папки, которые я хочу видеть в Projectile (и neotree), следующие:
/mnt/c/dayz/garrysmod/gamemodes/dayz
/mnt/c/dayz/garrysmod/addons/dz_chernarus
/mnt/c/dayz/garrysmod/addons/fas2-sweps
/mnt/c/dayz/garrysmod/addons/gdbc
/mnt/c/dayz/garrysmod/addons/willbox
/mnt/c/dayz/garrysmod/addons/xmod
Обратите внимание, что каждый из этих каталогов содержит в своих корнях репозиторий git.
Я попытался создать папку внутри ~/projects/dayz
с пустым файлом .projectile
с символическими ссылками на те папки, которые я хочу (см. Вывод ls ниже). Тем не менее, кажется, что символические ссылки следуют к своему источнику, и снаряд / neotree автоматически переходят "в" эти проекты (редактирование /mnt/c/dayz/garrysmod/gamemodes/dayz/dayz.txt
переместит меня в проект /mnt/c/dayz/garrysmod/gamemodes/dayz
вместо того, чтобы держать меня в пределах ~/projects/dayz
~/projects/dayz/ > ls
.projectile
dayz -> /mnt/c/dayz/garrysmod/gamemodes/dayz
dz_chernarus -> /mnt/c/dayz/garrysmod/addons/dz_chernarus
fas2-sweps -> /mnt/c/dayz/garrysmod/addons/fas2-sweps
gdbc -> /mnt/c/dayz/garrysmod/addons/gdbc
willbox -> /mnt/c/dayz/garrysmod/addons/willbox
xmod -> /mnt/c/dayz/garrysmod/addons/xmod
Я также подумал о том, чтобы инвертировать мои символические ссылки, чтобы источники находились в моем каталоге ~/projects
, что я на самом деле хотел бы сделать, но затем я в конечном итоге возвращаюсь к своей первой попытке решения, где он будет автоматически переключать проекты из-за расширение символической ссылки, а также нарушить функциональность поиска.
Кроме того, открывая проект ~/projects/dayz/
, я не могу найти подкаталоги с символическими ссылками, используя SPC p f
Я создал следующий .projectile
файл в /mnt/c/dayz/
, содержащий
+garrysmod/gamemodes/dayz
+garrysmod/addons/xmod
+garrysmod/addons/gdbc
+garrysmod/addons/willbox
+garrysmod/addons/fas2-sweps
+garrysmod/addons/dz_chernarus
+garrysmod/data/dayz-data
-*.vvd
-*.vtx
-*.phy
-*.mdl
-*.vtf
-*.vmt
-*.png
-*.gma
-*.jpg
-*.exe
-*.dll
Это работает до определенной степени. Однако каталоги + 'd, кажется, имеют приоритет над расширениями - *' d, поэтому я все равно в конечном итоге вижу двоичные файлы при выполнении SPC p f
и с огромным недостатком, что он должен искать тысячи файлов и сопоставлять их с правила (которые очень медленные) У меня есть другой проект, который также использует символические ссылки на некоторые из каталогов надстроек, описанных выше, так что это решение не слишком подходит.
В идеале, я хотел бы, чтобы моя первая попытка решения работала (или с обратными символическими ссылками, как уже упоминалось) без автоматического переключения Projectile на них, но я не знаю, с чего начать.