Visual Studio (Кудинов) 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. # Введение
  2. Microsoft Visual Studio – это комплект программ, который включает в
  3. себя интегрированную среду разработки, редактор кода и компилятор.
  4. Visual Studio облегчает написание, а также тестирование и отладку
  5. программного кода. В этой среде можно создавать программы на многих
  6. языках программирования: C#, C++, Visual Basic, Python, JavaScript, F# и
  7. так далее.
  8. # Установка
  9. Среду Visual Studio можно установить на официальном сайте Microsoft.
  10. https://visualstudio.microsoft.com/ru/downloads/
  11. На выбор даются три версии: Community, Professional и Enterprise. Первый
  12. вариант дается бесплатно, а остальные два предлагают пробный период
  13. использования средой, по окончании которого вам придется ввести ключ
  14. продукта. После выбора той или иной версии начнется скачивание
  15. программы «Visual Studio Installer». В этой программе можно установить,
  16. запустить или обновить не только саму среду Visual Studio, но и установить
  17. или удалить дополнительные компоненты.
  18. Вот список некоторых рабочих нагрузок и их предназначений.
  19. |Разработка классических приложений .NET|Разработка с помощью .NET
  20. Multi-Platform App UI|Разработка классических приложений на
  21. C++|Разработка мобильных приложений на языке C++|Разработка игр с
  22. помощью Unity|Разработка игр на С++| |Создание консольных приложений,
  23. приложений WPF и Windows Forms на языке C# на оболочках .NET и .NET
  24. Framework|Создание мобильных приложений под Android и iOS на языке C#
  25. на оболочке Xamarin|Создание приложений на C++ под операционную систему
  26. Windows|Создание мобильные приложения на языке C++|Создание мобильных
  27. приложений на языке C++|Написание скриптов для игр на движке
  28. «Unity»|Разработка игр на C++ с помощью набора API «DirectX» и
  29. написание скриптов для игр на движке «Unreal Engine»
  30. Кроме того, в разделе «Расположение установки» вы можете изменить путь
  31. установки среды Visual Studio. Выбрав нужные вам компоненты и путь
  32. установки, вы можете нажать на кнопку «Установить» справа внизу.
  33. # Создание, сохранение и открытие проекта
  34. При запуске среды Visual Studio в нее автоматически загружается
  35. стартовая страница, позволяющая быстро загрузить один из ранее
  36. разрабатывавшихся проектов в списке «Открыть последние», отображаемый в
  37. левой части окна, открыть какой-либо другой существующий проект (кнопка
  38. «Открыть проект или решение»), а также создать новый проект (кнопка
  39. «Создание проекта»). Впрочем, все отмеченные возможности доступны также
  40. из меню среды Visual Studio. «Файл» | «Создать» | «Проект...» или
  41. Ctrl + Shift + N – создание нового проекта. «Файл» | «Открыть» |
  42. «Решение или проект...» или комбинация Ctrl + Shift + O – открытие
  43. существующего проекта. «Файл | Последние проекты и решения – загрузка
  44. одного из недавно разрабатывавшихся проектов. Среда Visual Studio
  45. организована таким образом, что в ней нельзя создать отдельно взятый
  46. проект. Каждый проект должен содержаться в особой сущности, называемой
  47. «решение», которую можно охарактеризовать как группу взаимосвязанных
  48. проектов. В каждый момент времени в среду Visual Studio можно загрузить
  49. только одно решение; загрузка другого решения приводит к автоматическому
  50. закрытию предыдущего. При создании нового проекта на экране возникает
  51. диалоговое окно, в котором надо выбрать шаблон проекта и его имя. В
  52. качестве шаблона проекта выберете «Приложение Windows Forms». Таким
  53. образом, вы будете создавать десктопное приложение на языке C# на
  54. оболочке «.NET Framework». Вверху предусмотрена строка поиска для
  55. упрощения поиска нужного типа проекта. В качестве имени рекомендуется
  56. указывать имя проекта. Заметим, что имя проекта может содержать не
  57. только цифры и латинские буквы, но и другие символы, допустимые в именах
  58. файлов, в том числе пробелы и русские буквы. В среде Visual Studio при
  59. создании нового проекта необходимо сразу указать каталог для его
  60. сохранения (поле «Расположение»). На размещение проекта также влияет
  61. информация, связанная с группой проектов, которая называется «решением»,
  62. в которое будет помещен создаваемый проект, в частности, флажок «Создать
  63. каталог для группы проектов». Если в группу будет входить единственный
  64. проект, то следует снять данный флажок; это приведет к тому, что
  65. созданное решение будет иметь то же имя, что и созданный проект, а в
  66. каталоге, указанном в поле «Расположение», будет создан каталог с именем
  67. проекта, в котором будут размещаться все файлы, связанные с проектом и
  68. его группой. Отметим еще одну возможность среды Visual Studio (которой
  69. мы, однако, пользоваться не будем): создаваемый проект можно добавить к
  70. текущей группе проектов, то есть группе, ранее загруженной в среду
  71. Visual Studio. После нажатия на кнопку «Создать» Visual Studio создаст и
  72. откроет проект. Для сохранения всех изменений, внесенных в текущий
  73. проект (а точнее, в текущую группу проектов), в Visual C# предусмотрена
  74. команда «Файл» | «Сохранить все», а также клавиатурная комбинация
  75. Ctrl + Shift + S. При открытии существующего проекта на экране
  76. появляется диалоговое окно «Открыть», в котором можно выбрать либо файл
  77. с расширением «.sln», содержащий информацию о группе проектов с
  78. указанным именем, либо файл с расширением «.csproj», содержащий
  79. информацию о проекте с указанным именем. Однако даже при выборе
  80. отдельного проекта загружается группа проектов, в которой он содержится.
  81. # Разработка приложения
  82. В большом поле в центре находится проектируемый нами интерфейс
  83. создаваемого приложения. В левой части окна располагается панель
  84. элементов. В ней хранятся все необходимые для проекта элементы
  85. управления, которые можно поместить на форму. Есть несколько способов
  86. размещения элемента управления на форму. Справа находится «Обозреватель
  87. решений», в котором расположено дерево с файлами для проекта. При
  88. создании нового проекта типа «Windows Forms» связанная с ним главная
  89. форма (класс с именем «Form1») создается автоматически и сразу
  90. загружается в среду Visual Studio. С формой Form1 связывается набор
  91. файлов, основными из которых являются файлы «Form1.cs» и
  92. «Form1.Designer.cs». В этих файлах содержится описание данной формы на
  93. языке C#, причем второй из них содержит ту часть описания, которая
  94. генерируется автоматически в ответ на различные действия разработчика,
  95. связанные с визуальным проектированием (собственный код разработчик
  96. обычно размещает в файле «Form1.cs»). Если в проекте требуется
  97. использовать дополнительные формы, то их проще всего добавить в проект с
  98. помощью команды меню «Проект» | «Добавить форму (Windows Forms)...».
  99. При выполнении этой команды возникает диалоговое окно, в котором надо
  100. указать имя добавляемой формы (которое одновременно будет и начальной
  101. частью имен файлов, содержащих ее описание). В описываемых примерах
  102. всегда используются имена форм, предлагаемые системой по умолчанию
  103. (Form1, Form2 и т. д.). Любая созданная форма отображается в редакторе
  104. Visual Studio в режиме дизайна (на экране появляется изображение формы и
  105. ее содержимого); соответствующая вкладка редактора заканчивается текстом
  106. [Конструктор]. Например, для главной формы «Form1» вкладка содержит
  107. текст Form1.cs [Конструктор]. Для перехода к содержимому
  108. соответствующего файла cs достаточно нажать клавишу «F7»; при этом в
  109. редакторе появится новая вкладка с текстом данного файла (ярлычок этой
  110. вкладки будет содержать имя файла, например, «Form1.cs»). Для обратного
  111. переключения с текста на изображение формы можно использовать комбинацию
  112. Shift + F7. Переключаться между изображением формы и текстом кода можно
  113. также с помощью контекстного меню: при щелчке правой кнопкой мыши на
  114. изображении формы первый пункт появляющегося меню имеет имя «Перейти к
  115. коду» и позволяет перейти к тексту файла cs, а при вызове контекстного
  116. меню для текста cs-файла первый пункт меню имеет имя «Открыть в
  117. конструкторе» и позволяет вернуться в режим конструктора. Любую вкладку
  118. в редакторе можно закрыть; для этого достаточно сделать ее активной и
  119. нажать комбинацию Ctrl+F4 или вызвать контекстное меню вкладки, щелкнув
  120. правой кнопкой мыши на ее ярлычке, и выбрать пункт «Закрыть». Если после
  121. загрузки существующего проекта в редактор не загрузилась требуемая
  122. форма, достаточно выполнить двойной щелчок мышью на имени этой формы в
  123. окне «Обозреватель решений». Можно также щелкнуть на имени этой формы
  124. правой кнопкой мыши и выбрать пункт Open из появившегося контекстного
  125. меню. Данное меню также содержит пункт «Перейти к коду», позволяющий
  126. загрузить в редактор текст cs-файла, и «Открыть в конструкторе»,
  127. позволяющий загрузить в редактор форму в режиме дизайна. При выборе
  128. одной из форм в окне проекта «Обозреватель решений» дополнительно
  129. появляются кнопки быстрого доступа, первая из которых позволяет
  130. загрузить текст файла, а вторая – отобразить форму в режиме дизайна.
  131. Для размещения в форме нового компонента следует воспользоваться окном
  132. компонентов «Панель элементов» (отобразить это окно на экране можно либо
  133. командой меню «Вид» | «Панель элементов», либо комбинацией клавиш
  134. Ctrl + Alt + X, либо кнопкой ). Это окно обычно отображается в левой
  135. части экрана. Заметим, что компоненты отображаются в окне «Панель
  136. элементов» только в том случае, если редактор находится в режиме
  137. дизайна. Надо выбрать в этом окне группу, содержащую нужный компонент
  138. (щелкнув мышью по имени этой группы), затем щелкнуть на изображении
  139. нужного компонента, выделив его, и, наконец, щелкнуть в том месте формы,
  140. где предполагается разместить выбранный компонент. Для того чтобы
  141. выбрать компонент в окне «Панель элементов», необязательно знать, в
  142. какой группе он содержится, поскольку в этом окне имеется группа «Все
  143. формы Windows Forms», в которой указаны все имеющиеся компоненты в
  144. алфавитном порядке. Если в окне «Панель элементов» отсутствует нужный
  145. компонент, то можно попытаться загрузить его в это окно. Для быстрого
  146. размещения в форме нескольких компонентов одного типа следует после
  147. выделения требуемого компонента в окне «Панель элементов» выполнить
  148. щелчок мышью на форме несколько раз, держа нажатой клавишу Ctrl. Если
  149. компонент требуется разместить не в форме, а в другом компоненте,
  150. например в компоненте Panel, то при размещении компонента необходимо
  151. выполнить щелчок мыши в области компонента-приемника. В качестве
  152. компонентов-приемников могут использоваться только особые компоненты,
  153. называемые компонентами-контейнерами (сама форма также является
  154. компонентом-контейнером). Компонент-контейнер (форма, панель и т. д.),
  155. содержащий другие компоненты, называется родительским по отношению к
  156. размещенным в нем дочерним компонентам. При описании этапов разработки
  157. проекта мы всегда будем указывать, в каком компоненте-контейнере следует
  158. разместить каждый компонент. После добавления компонента в форму он
  159. автоматически получает имя, которое сохраняется в его свойстве «Name».
  160. По умолчанию имя любого компонента начинается со строчной буквы и
  161. состоит из имени типа компонента и порядкового номера. Так, первая
  162. размещенная в форме кнопка (компонент типа Button) получит имя
  163. «button1», а вторая кнопка – имя «button2». Формы имеют имена,
  164. начинающиеся с прописной буквы (Form1, Form2 и т. д.); это связано с
  165. тем, что данные имена являются именами новых классов – потомков
  166. базового класса Form. Имя, присвоенное по умолчанию, всегда можно
  167. заменить на другое имя, позволяющее, например, уточнить назначение того
  168. или иного компонента (например, кнопку «button1», содержащую текст «OK»,
  169. можно назвать «btnOK»). Однако в описываемых проектах почти всегда
  170. используются имена компонентов, предлагаемые системой Visual Studio по
  171. умолчанию: это позволяет уменьшить количество действий по настройке
  172. свойств компонентов и упрощает ориентировку в текстах программ. Следует
  173. заметить, однако, что при разработке больших проектов целесообразно
  174. использовать значимые имена для всех компонентов. Размеры визуальных
  175. компонентов также обычно не уточняются. Для настройки размеров можно
  176. воспользоваться перетаскиванием мышью за один из маркеров, окружающих
  177. выделенный компонент, или клавишами со стрелками при нажатой клавише
  178. Shift. Можно также явно задать значения свойства «Size» в окне
  179. «Свойства» или воспользоваться панелью «Layout». Для настройки свойств
  180. форм и компонентов используется окно свойств, быстро перейти на которое
  181. можно с помощью комбинации Alt + Enter (вернуться обратно на форму можно
  182. с помощью комбинации Ctrl+ Tab). Окно «Свойства» обычно располагается в
  183. правом нижнем углу экрана и может находиться в двух режимах: «Свойства»
  184. и «События». В настоящем разделе мы рассмотрим режим «Свойства»,
  185. предназначенный для отображения свойств выделенного компонента или
  186. группы компонентов (для перехода в данный режим надо нажать третью
  187. кнопку на панели инструментов окна свойств). Если выделена группа
  188. компонентов, то в окне свойств отображаются только те свойства, которые
  189. имеются у всех выделенных компонентов. Выделение группы компонентов
  190. позволяет быстро задать для них одинаковые размеры, заголовки или другие
  191. общие свойства, а также переместить их, сохраняя взаимное расположение
  192. Перечислим способы выделения группы компонентов: щелчок на компонентах
  193. при нажатой клавише Shift или Ctrl и охват компонентов пунктирной
  194. рамкой, которая появляется на форме при перемещении мыши с нажатой левой
  195. кнопкой (для выделения достаточно захватить рамкой часть компонента).
  196. Если выделена группа компонентов, то один компонент этой группы является
  197. текущим (его маркеры имеют белый цвет). Результат некоторых действий
  198. зависит от того, какой компонент выделенной группы является текущим. Для
  199. того чтобы сделать текущим другой компонент из выделенной группы,
  200. достаточно выполнить на нем щелчок мышью. Для снятия выделения с группы
  201. компонентов надо выделить компонент, не входящий в эту группу. Полезно
  202. знать, что если выделен некоторый компонент, то для выделения его
  203. родительского компонента достаточно нажать клавишу Esc. Таким способом
  204. можно быстро выделить любой компонент-контейнер, даже если его целиком
  205. покрывают дочерние компоненты. Для выделения формы есть еще более
  206. простой способ: щелчок мышью на ее заголовке. С помощью двух первых
  207. кнопок окна свойств можно настроить способ отображения свойств: по
  208. категориям (первая кнопка) или в алфавитном порядке имен (вторая
  209. кнопка). Каждая категория имеет имя и содержит «родственные» свойства.
  210. Используя группировку свойств по алфавиту, проще перейти к требуемому
  211. свойству; в то же время, при начальном ознакомлении со свойствами,
  212. имеющимися у компонента, удобнее использовать группировку по категориям.
  213. В настройках свойств вначале указывается имя компонента, свойства
  214. которого требуется изменить, а затем, после двоеточия, – список его
  215. настраиваемых свойств в формате «имя свойства = новое значение свойства»
  216. (значение свойства выделяется полужирным шрифтом). Свойства
  217. перечисляются через запятую. Компоненты могут иметь составные свойства,
  218. то есть свойства, имеющие собственные свойства (например, «Font» для
  219. насттройки шрифта). Если требуется настроить одно или несколько свойств
  220. подобного составного свойства, в листинге настройки свойств используется
  221. разделитель точка. Составные свойства помечаются в окне «Свойства»
  222. знаком «+» слева от имени. Щелчок на знаке «+» приводит к отображению в
  223. окне всех свойств выбранного составного свойства; знак «+» при этом
  224. меняется на «-». Щелчок на знаке «-» сворачивает список свойств
  225. составного свойства. Если требуется очистить какое-либо свойство, то в
  226. качестве его значения указывается курсивный текст «пустая строка». Для
  227. значений логических свойств используются константы True и False,
  228. начинающиеся с заглавной буквы (в отличие от ключевых слов языка C# true
  229. и false); это связано с тем, что именно так указываются логические
  230. константы в окне «Свойства». Для задания некоторых свойств, связанных с
  231. привязкой или выравниванием (например, «Dock» или «TextAlign»), в окне
  232. «Свойства» используются вспомогательные панели. Для отображения таких
  233. панелей предназначена кнопка, появляющаяся при выделении
  234. соответствующего свойства. В этих панелях надо выбрать один или
  235. несколько элементов, расположенных в требуемой позиции (слева, справа,
  236. по центру и т. п.), причем результат выбора будет отображен в окне
  237. «Свойства» в виде обычного текста (например, «Bottom» или
  238. «MiddleCenter»). Хотя подобные действия являются интуитивно понятными,
  239. они, как правило, снабжаются в тексте примеров дополнительными
  240. пояснениями. В некоторых случаях для задания свойства бывает удобно
  241. воспользоваться специальным диалоговым окном. Если для свойства
  242. предусмотрено такое окно, то при выделении свойства в окне «Свойства»
  243. справа от него изображается кнопка с многоточием, позволяющая вызвать
  244. диалоговое окно (примером такого свойства является «Font» – шрифт для
  245. текста). У всех компонентов имеется не только набор свойств, но и набор
  246. событий, с которыми можно связать методы – обработчики событий.
  247. Список обработчиков для выделенного компонента или группы компонентов
  248. отображается в окне свойств в режиме «События»; для перехода в данный
  249. режим надо нажать четвертую кнопку на панели инструментов окна
  250. «Свойства». Список событий, как и список свойств, можно упорядочивать
  251. двумя способами: по категориям и по именам (в алфавитном порядке).
  252. Двойной щелчок мышью на пустом поле ввода рядом с именем нужного события
  253. обеспечивает автоматическое создание заготовки для обработчика этого
  254. события. Обработчик любого события для любого компонента оформляется как
  255. метод той формы, на которой расположен данный компонент. Во всех
  256. примерах используются имена методов-обработчиков, предлагаемые системой
  257. Visual Studio по умолчанию: это позволяет легко определить, с каким
  258. компонентом и каким событием связан обработчик. Полужирным шрифтом
  259. выделяются те строки, которые требуется добавить в автоматически
  260. созданную заготовку метода-обработчика. Иногда фрагменты программы
  261. снабжаются комментариями, хотя чаще пояснения даются в основном тексте
  262. примера или в специальном разделе «Комментарий». Если в качестве
  263. обработчика нужно указать имя уже имеющегося метода, то достаточно
  264. выбрать имя этого метода в выпадающем списке рядом с именем события в
  265. окне свойств. По двойному щелчку на элемент с названием обработчика
  266. события вы автоматически попадете в редактор кода, в котором находится
  267. написанный по умолчанию код на C#. В редактор кода можно попасть, нажав
  268. на клавишу F7. Когда вы будете готовы посмотреть на результат работы
  269. вашего приложения, нажмите на кнопку «Пуск» или на клавишу F5.
  270. Запустится компилятор, который соберет ваш проект в файл с расширением
  271. «.exe», который и будет вашим приложением. Если в вашем коде
  272. присутствуют допущенные вами ошибки, то выведется уведомление, которое
  273. предложит запустить последний успешно запущенный вариант проекта.
  274. Скомпилированное приложение можно найти в папке проекта в каталоге
  275. «bin\\Debug\\». Оно будет называться по имени проекта и иметь расширение
  276. exe. И затем этот файл можно будет запускать без Visual Studio, а также
  277. переносить его на другие компьютеры. Нажав на вкладку «Проект» |
  278. «Свойства» в Visual Studio, вы попадете в меню, где можно поменять
  279. название приложения, оболочку, под которой оно создается, и его иконку.
  280. Последнее можно сделать, нажав на кнопку Обзор и выбрав файл с
  281. расширением «.ico».