ConEmu has forking abitily. So, you may just call
-new_console:d:C:\My\Code cmd.exe /c ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64_x86 & ConEmuC -fork -c far"
Far Manager has its own Macro system. You may either set up "Auto started" macro, or just pass it via command line. Consider proper quotation! Just change
F2 F1
to your keys sequence. Easies way is adding required command to the F2 (User Menu).-new_console:d:C:\My\Code cmd.exe /c ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64_x86 & far "lua:Keys(\"F2 F1\")""
Как я могу заставить ConEmu, Far Manager и командную строку VS Developer хорошо играть вместе?
В настоящее время я пытаюсь настроить свою среду так, чтобы я мог открыть вкладку ConEmu, и она автоматически инициализирует Far Manager и среду командной строки VS Developer.
Моя неудачная попытка была такая:
cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64_x86 & far -new_console:d:C:\My\Code
Это работает в том смысле, что он выполняет то, что я хочу, но ConEmu это не нравится, потому что он оставляет активный экземпляр cmd.exe, поэтому при попытке закрыть вкладку вы всегда получите предупреждение, что не идеально.
Если вы никогда не видели этого раньше, это то, что появляется при закрытии вкладки, если вы используете вышеуказанную задачу:
После долгих поисков я нашел эту ссылку, которая внизу содержит комментарий автора ConEmu:
Он говорит это:
Да, это работает. Но этот метод оставил cmd.exe в вашем дереве рабочих процессов.
Другой способ - запустить vcvarsall.bat из вашей оболочки (PowerShell или Far Manager) и экспортировать измененную среду из cmd в родительский процесс. Преимущество - вы можете установить различные настройки во время выполнения.
Описание: https://code.google.com/p/cone ...
И пример команды (я использую это из Far Manager): "C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ vcvarsall.bat" x86 & "% ConEmuBaseDir% \ ConEmuC.exe" / export = CON
Проблема с этим однако заключается в том, что я должен выполнить эту команду вручную после запуска далеко. Я не могу найти способ автоматического запуска этой команды после инициализации Far.
Это не совсем жизнеспособное решение сделать это вручную, потому что у меня так много разных сред для настройки. Учтите, что мне нужна отдельная вкладка для каждого компилятора, который я использую (MSVC, Clang, GCC, Intel C ++ - иногда несколько версий каждого и почти всегда несколько архитектур).
По сути, мне нужен способ настроить задачу так, чтобы я мог запустить пакетный файл, а затем Far (чтобы он наследовал переменные env), не оставляя висящий экземпляр cmd.exe. Или мне нужно иметь возможность настроить задачу так, чтобы я мог автоматически запускать команды (разные для каждой задачи) после запуска Far.
Я почти уверен, что был бы какой-то черный магический способ сделать это, но я еще недостаточно знаком с ConEmu / Far, чтобы понять это.
Если я впаду в отчаяние, то, возможно, в конце концов напишу плагин, но я бы предпочел этого избежать, если смогу.
2 ответа на вопрос
Я сделал это, объединив две предопределенные чудовищные команды для и для, используя &&
:
-new_console:t:"VS 15.0" -new_console:C:"%CommonProgramFiles(x86)%\microsoft shared\MSEnv\VSFileHandler.dll,38" cmd /c ""%ConEmuDrive%\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" x64 && set "FARHOME=" & "%ConEmuDir%\..\Far Manager\far.exe" /w /p"%ConEmuDir%\Plugins\ConEmu;%FARHOME%\Plugins;%FARPROFILE%\Plugins""
Похожие вопросы
-
12
Почему папка / winsxs становится такой большой и ее можно уменьшить?
-
2
Повышенные привилегии для запуска приложений в Windows?
-
14
PDF Viewer в Windows
-
-
7
Какие службы Windows можно безопасно отключить?
-
8
Firefox PDF плагин для просмотра PDF в браузере на Windows
-
1
Windows теряет макет экрана
-
1
Есть ли способ предотвратить установку / обновление, чтобы засорять мой жесткий диск загадочными пап...
-
1
Как я могу получить доступ к принтеру Windows Vista из Ubuntu по сети?
-
6
Просмотр журнала в Windows
-
3
Фоновая проблема Windows с двумя экранами