Компиляция C# программ в Notepad++
02.08.2018
/
Алекс Айфонов
Недавно я заметил, что Visual Studio отнимает слишком много времени при запуске на моём маломощном компьютере, тогда моё внимание привлёк текстовый редактор Notepad++ с подсветкой синтаксиса. Компиляция будет производится с помощью скрипта, который будет запускаться через вкладку «Запуск» комбинацией клавиш.
Скрипт на Powershell
В качестве промежуточного узла между исходным кодом и компилятором я решил использовать Powershell, это весьма мощное средство автоматизации, которое берёт своё начало с Windows 7. В данном скрипте будет использован компилятор, который встроен в операционную систему и расположен по следующему пути: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe (пользователям Windows 7 понадобится обновить .NET Framework до 4-ой версии) . Алгоритм работы скрипта таков: после того как вы поместите его в папку с .cs файлами (это обязательно), он скомпилирует последний изменённый .cs файл и запустит его. С алгоритмом разобрались, теперь перейдем к коду:
# переменной $NameCS присваивается путь к последнему изменённому файлу .cs
$NameCS = (Get-ChildItem . -Include *.cs -Recurse | Sort-Object LastWriteTime -Descending | Select-Object Name -First 1 -exp fullname)
# компиляция
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe $NameCS
# переменная $ProgramExecute получает путь к недавно созданному .exe файлу
$ProgramExecute = Get-ChildItem -Include *.exe -Recurse | Sort-Object LastWriteTime -Descending | Select-Object Name -First 1 -exp fullname
# запуск последней скомпилированной программы
Invoke-Item $ProgramExecute
Для создания скрипта (файла .ps1) вам понадобится вставить этот код в интегрированную среду сценариев Powershell ISE, найти её можно через пуск:
Теперь для успешного запуска скрипта нам нужно изменить политику вашего Powershell, делается это следующим образом: открываем пуск, пишем в поиске Powershell (без ISE), открываем от имени администратора и вписываем туда команду Set-ExecutionPolicy RemoteSigned.
Итак, если скрипт находится в папке с файлами C#, то после двойного нажатия по скрипту компиляция произойдет успешно. Но вот незадача, вкладка «Запуск» в Notepad++ принимает только .exe файлы, следовательно нам нужно конвертировать наш скрипт из .ps1 в .exe.
Конвертация скрипта из PS1 в EXE
В качестве преобразователя я буду использовать скрипт, написанный на Powershell, который можно скачать по следующей ссылке https://gallery.technet.microsoft.com/PS2EXE-Convert-PowerShell-9e4e07f1. После загрузки извлеките все файлы архива в удобное для вас место и откройте Powershell. Перед началом использования преобразователя нужно прописать следующую команду: Powershell.exe -version 2.0. Далее, с помощью команды cd перейдите в директорию, куда вы извлекли содержимое файла (к примеру cd C:/Users/Admin/Desktop). Почти готово! Теперь нужно выполнить команду, которая преобразует наш файл формата .ps1 в .exe файл:
ps2exe.ps1 -inputFile (путь к .ps1 файлу) -outputFile (имя файла .exe, например Program.exe)
У меня это имеет следующий вид:
.C:Users\Egor\Desktop> .\ps2exe.ps1 -inputFile C:Users\Egor\Desktop\Program.ps1 -outputFile Proram.exe
В случае успешного завершения вы увидите следующее сообщение:
Вот и всё! Теперь осталось только составить удобную для вас комбинацию клавиш которая будет запускать этот .exe файл, для этого нужно перейти во вкладку «Запуск»>«Запуск…»>Указать путь к файлу>«Сохранить».
Далее, будет предложено дать имя сочетанию клавиш, у меня это Compile с сочетанием Ctrl+R. Весь исходный код и готовый .exe файл можно скачать тут: https://github.com/Gornostalev/firtsprojects.
Простой пример, который поможет быстро разобраться, как управлять данными с помощью библиотеки Redux в ваших приложениях на React.
Оказывается, что на одних технических навыках и опыте далеко не уедешь. Успешные разработчики ПО также развивают черты поведения и образ мышления, выделяющие их из толпы. Ниже приводятся десять привычек, которые пророчат успех.
Моя личная история знакомства с ЭВМ и основами программирования на советских машинах.