PDA

Просмотр полной версии : [Мануал] Адаптируем SynWrite для языка Pawn



Daniel_Cortez
08.05.2013, 21:47
Всем привет.
Недавно я решил найти достойную альтернативу Pawno. Пришлось перерыть много различных текстовых редакторов из разряда Open Source, выбор остановился на SynWrite, хотелось бы поделиться этой прогой с вами.

Достоинства SynWrite:

Подсветка синтаксиса для многих языков.
Полностью настраиваемая подсветка.
Сворачивание кода.
Отображение древовидной структуры кода.
Поддержка почти всех кодировок.
Автозавершение кода.
Создание проектов.
Настраиваемые шаблоны кода.
Панель истории.
Поиск/замена выражений.
Поиск/замена в нескольких файлах.
Поддержка внешних инструментов.
Настройка горячих клавиш.
Закладки.
Запись макросов.
и многое другое...


Ну и немного скриншотов:

http://s5.hostingkartinok.com/uploads/images/2013/03/6fd43e2414edf7816846db2b1027995b.png
http://s5.hostingkartinok.com/uploads/images/2013/03/df4c7a0303363dfa823fc4621bde6b02.png
http://s5.hostingkartinok.com/uploads/images/2013/03/4649de5daf2fd6bec544595c4dab8677.png
http://s5.hostingkartinok.com/uploads/images/2013/03/17f24bf3826a4e4bc7afa82c255fd4be.png



Понравилось? Тогда приступим к установке.

Шаг 1: Установка.
Скачиваем SynWrite с официальной страницы проекта на sourceforge.net:
>> http://sourceforge.net/projects/synwrite/files/Release/SynWrite.exe/download <<
После скачивания запустите установщик и ничего не меняйте во время установки.

Шаг 2: Совместимость.
Открываем папку, в которой установлена программа (должна получиться папка "C:\Program Files\SynWrite").
Если у вас ОС Шindoшs ХР, то можете перейти дальше к шагу 3. Если же у вас Win 7/8, вам придётся сделать следующее:
Щёлкнуть правой кнопкой мыши по SynWrite.exe, откроется контекстное меню, там выбрать "Свойства".
В открывшемся окне выбрать сверху вкладку "Совместимость".
Установить флажок "Запустить программу в режиме совместимости с:", чуть ниже выбрать вариант "Шindoшs XP (пакет обновления 3)".
В самом низу окна установить флажок "Выполнять эту программу от имени администратора", нажать "ОК".

Шаг 3: Базовые настройки.
Запускаем программу и открываем сверху меню "Options -> Customize...". Появится окно настроек, слева будет выделена вкладка "Interface". Выполняем следующие этапы:
Под надписью "Language:" выбираем русский язык затем ниже под надписью "Esc key:" выбираем "Do nothing" (этим мы устраним случайное закрытие редактора при нажатии кнопки Esc).
В том же окне слева выбираем раздел "Colors" и под надписью "Icons" выбираем "Fogue 24x24".
Выберите раздел "Insert/Format". Напротив надписи "Block indent" ставим 4, "Tab stops" - 4, "Tab mode" - "Tab character"
Если хотите, чтобы редактор автоматически закрывал за вами скобки и кавычки, перейдите в раздел "Auto-complete" и установите флажки в полях "Auto-close brackets: () [] {}", "And quotes", "Skip escaped: \{".
Нажмите кнопку "OK", чтобы сохранить настройки. Теперь редактор будет на русском языке.

Шаг 4: Прикручиваем компилятор.
Открываем меню "Запуск -> Настроить внешние инструменты". Откроется новое окно для создания команд.
В разделе "Параметры инструмента" в поле "Название:" пишем "Компилировать".
В поле "Имя файла:" указываем компилятор

pawncc.exe
Напротив надписи "Параметры:" вписываем

"{FileName}" -;+ -(+
В поле "Рабочая папка" укажите папку вашего мода (gamemodes).
Ниже в поле "Сохранение:" выбираем "Сохранить текущий документ".
В поле "Клавиша:" выбираем F5.
Устанавливаем флажки в полях "Показывать в контекстном меню" и "Захват вывода".
Напротив надписи "Тип вывода" выбрать "Отобразить в панели вывода".
В поле "Кодировка" ставим "OEM (DOS)". Жмём кнопку "OK", чтобы сохранить команду компиляции.
Скачать файл
http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-freehand.png
и сохранить его в папку с SynWrite.
Открыть меню "Опции -> Настроить панели инструментов -> 1".
В открывшемся окне щёлкнуть кнопку "Выбрать размер значков", выбрать размер 22х22 и нажать "Ок".
Нажать кнопку "Добавить", затем "Выбрать команду", в открывшемся списке выбрать "Дополнительно: Меню - лексеры".
Нажать кнопку "Выбрать значок" и указать картинку, которую вы сохранили в папку с SynWrite, нажать "Ок"

Шаг 5: Использование.
Открываем в редакторе любой файл .pwn, выбираем сверху меню "Лексер -> C -> C++".
Редактор готов к использованию. Откомпилировать исходник (.pwn) можно сразу 3 способами, выбирайте какой вам удобнее:
а) Нажать F5.
б) Меню "Запуск - Компилировать".
в) Щелкнуть правой кнопкой мыши в поле кода -> "Компилировать".


Скачать: http://sourceforge.net/projects/synwrite/files/Release/SynWrite.exe/download
Сайт программы: http://www.uvviewsoft.com/synwrite/
Русскоязычный форум: http://synwrite.sourceforge.net/forums/viewforum.php?f=6&sid=b5ff576ac20436d36725730b34f660f3
Статью подготовил: Daniel_Cortez (http://pro-pawn.ru/member.php?100-Daniel_Cortez)

[c] Abatko
09.05.2013, 01:42
Плюс твой ;).

--JohnsOn--
09.05.2013, 14:10
Не плохо. Лови плюс

Rizzle_Smith
09.05.2013, 15:09
Отлично +

Неповторимый
09.05.2013, 15:37
Молодца +

Ruskadance
06.06.2013, 21:59
Хочу заметить неплохой редактор, очень даже неплохой, и действительно отличная замена Pawno и Notepad++ с прикрученным Pawn-компилятором. Раньше для кодинга на Pawn использовал Notepad++, но опробовав этот редактор моё мнение изменилось - в SynWrite тебе и менеджер проектов, и автозакрытие скобок и кавычек, и история буфера обмена, и сворачивание кода, и много других замечательных функций. Всем советую юзать SynWrite

Wilfred
06.06.2013, 23:56
SynWrite - мне не очень он нравится

Airon007
07.06.2013, 00:46
SynWrite - пользуйтесь удобная программа.

Mike
08.06.2013, 08:51
Молодец!

Salvacore
12.06.2013, 00:38
Daniel,буду пользоваться

bgmgn174
14.06.2014, 18:35
""(pawncc.exe)"" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Gressie
17.06.2014, 15:03
А как мод запустить то? Пытаюсь компилировать пишет:
Не удалось запустить команду: pawncc.exe

seriu
11.08.2014, 19:35
Неплохая программа

- - - Добавлено - - -


""(pawncc.exe)"" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

обзор > папку ищи с pawncc.exe,выберай его и ок жми

seriu
13.08.2014, 10:14
Кто-нибудь знает как сделать нормальный поиск п.с Ctrl+F что бы искало не Далее, Назад а искало как в Notepad, т.е далее, но если нету далее искало с начала кода. Ибо в данном редакторе поиск начинается с того места где стоит курсор мыши и заканчивается в конце кода не проверяя есть ли вообще в документе поисковое сообщение.

DeimoS
02.10.2014, 19:03
Вот (https://yadi.sk/d/p_XbKK7TbnD4K) выкладываю лексер собственной разработки :) Сделан на основе лексера С++. Убрал всё лишнее, что увидел. Стиль подогнал под тот, что используется в редакторе "Pawno"

Установка:
Скачиваем
Открываем SynWrite
Нажимаем на пункт "Опции"
Находим и нажимаем на пункт "Изменение библиотеки лексеров..."
Находим кнопку "Импорт лексера из файла" и нажимаем на неё
Находим скачанный файл и открываем его
Закрываем окно изменения и нажимаем "Да" в открывшемся окне

http://ihost.pro-pawn.ru/image.php?di=YTQ2

Всё. Теперь осталось включить добавленный лексер. Находим и нажимаем на пункт "Вид" -> "Лексер" -> "P" -> "Pawn"
Готово :) Теперь вы имеете не только лексер, копирующий стиль "Pawno", но и имеете возможность добавлять слова, которые будут выделяться в коде (как, например, выделяется "public" или "return"). Делается это следующим образом: "Опции -> Изменение свойств лексера -> Правила -> Условия" и добавляем новое слово в поле "Ключевые слова". Нажимаем "применить" и всё, теперь введённое слово будет выделяться в коде (если оно не расположено в строке, естественно).

Скрины, показывающие действия выше
http://ihost.pro-pawn.ru/image.php?di=DDSB
http://ihost.pro-pawn.ru/image.php?di=4AT1
http://ihost.pro-pawn.ru/image.php?di=IH3Y
http://ihost.pro-pawn.ru/image.php?di=BPUP

Если найдёте баги - пишите :)

Elaid
02.10.2014, 19:58
http://ihost.pro-pawn.ru/image.php?di=IH3Y

Не совсем понял, что нужно сделать в пункте "Добавление нового слова для выделения"

DeimoS
02.10.2014, 20:03
Не совсем понял, что нужно сделать в пункте "Добавление нового слова для выделения"

Вписать любое слово на английском (без всяких знаков разделения и т.п. Исключительно буквы). Я написал "deimos"

Elaid
02.10.2014, 20:05
Вписать любое слово на английском (без всяких знаков разделения и т.п. Исключительно буквы). Я написал "deimos"

А зачем нужно это слово ?:blush2:

codeo
02.10.2014, 20:41
А зачем нужно это слово ?:blush2:

В том пункте ты можешь сделать подсветку любого нужного тебе слова, для своего удобства

DeimoS
02.10.2014, 21:08
А зачем нужно это слово ?:blush2:

Например, вы создали макрос для замены forward и public

#define fpublic:%0(%1) forward %0(%1); public %0(%1)
Но при его использовании потеряется подсветка, которая бы была при использовании обычного "public". Добавляем в этот список слово "fpublic" и всё, теперь "fpublic" будет выделяться синим так же, как и "public".

#Gabriel
11.12.2014, 05:00
Молодец. Отличная тема. Но как по мне, так лучше стандартный компилятор. На это есть одна причина: привычный.

Maranzalla
12.12.2014, 01:34
а через NotePad++ сможешь ?
вижу аналогию с темой
http://forum.sa-mp.com/showthread.php?t=174046
или я ошибаюсь?

Alextp
06.02.2015, 03:16
Написал к Synwrite лексер, Pawn, установка как обычно, заходим в Options/AddonsManager/Install, вводим "pawn" и будет п-т в списке.
для расширений pwn, inc.

взял лексер С++, выкинул сишные слова (ненужные), сделал правильное дерево, тестил дерево на 3-5 скриптах -
Items-System by Games
S.W.A.T Rope
ZRK_System_v2

плюс несколько имен подсветил светло синим.

- - - Добавлено - - -

Вот как выглядит "дерево", панель слева, скрипт Items-system

http://f6.s.qip.ru/k9ZG4LYp.png

Ban_Diaz
08.02.2015, 00:19
http://i.imgur.com/kI9EjrG.png
Так и не понял в чем проблема, перепробовал множество способов.

Osetin
08.02.2015, 13:06
http://i.imgur.com/kI9EjrG.png
Так и не понял в чем проблема, перепробовал множество способов.

Что-то не так значит делаешь.

Ban_Diaz
08.02.2015, 15:35
Какие могут быть варианты?

Alextp
09.02.2015, 09:23
Мог не указать файл .ехе с полным путем. Какой скрин настроек external tool?

Ban_Diaz
10.02.2015, 09:14
Мог не указать файл .ехе с полным путем. Какой скрин настроек external tool?

Путь тоже указывал, бесполезно.
http://i.imgur.com/Qpw5UCR.png

[P-P]ColoradoRP
10.02.2015, 09:39
Good

- - - Добавлено - - -

Good

Alextp
10.02.2015, 09:43
Неверно. Полный путь это
c:\folder\folder\name.exe, у тебя только имя папки, короче жми кнопку "Обзор" и выбери файл в диалоге,
еще есть примеры в хелпе про этот диалог.

Maranzalla
12.02.2015, 10:30
Вообщем установил я этот СуньВрайт - ерунда полная обьясню почему:
1)Тормозит - код компиллируется раза в 3-4 ато и дольше чем обычный Pawno,а также при прокрутке кода-ощущается подторамаживание что очень напрягает после 20-30 минут работы
2)Очень неудобный интерфейс
3)Не работает автозавершение(хотя все делал по инструкции)
4)И с кодировкой там какая-то лажа долго разбираться в этом не стал...

Могу с уверенностью сказать что NotePad++ намного лучше в этом к тому же более функциональнее и его стандартная раскраска кода С++ очень похоже на стандартную павновскую - то есть никаких лексеров там качать не нужно

Alextp
12.02.2015, 23:19
3)Не работает автозавершение(хотя все делал по инструкции)
Автокомплита для Павн нет вообще. Какой еще инструкции.
для автокомплита надо или писать статичный файл (Data\Autocomplete\Pawn.acp) или писать плагин (что никто делать не будет)


4)И с кодировкой там какая-то лажа
Про это есть топик в хелпе-- в корне хелпа Encodings


Могу с уверенностью сказать, что в Нотепад++ МЕНЬШЕ функций

- - - Добавлено - - -


>>раскраска кода С++ очень похоже на стандартную павновскую

Раскраска это фигня..
А ты посмотри насколько лекс С++ **подходит* под павн.
Только на 60%.
А в Сине специальный лекс **заточеннный под павн. Под почти все фишки павн

alfazlo
24.03.2015, 21:54
Хотелось бы дополнить хорошей фишкой, подсветка ошибок и переход к ошибкам в файле, а то вроде в этом туторе нет этого, или я опять не все поставил...
Инструменты - настроить внешние инструменты
выбираем компилятор в списке. Справа будет панель с настройками.
Внизу в списке "Кодировка:" выбираем "ANSI (Windows)" чтобы в выводе не искажались пути с кириллическими символами
Жмем "Строки вывода"
В строку регулярное выражение вводим "(.+)\((\d+).+: error (\d+)\:" без кавычек
В списках выбираем Имя файла: 1, Строка: 2, Колнка: 3
Жмем "Сохранить пресет..", сохраняем.
Еуперь при выводе Error будут выделены синим цветом, а при двойном нажатии на них будет выполнен переход к строке ошибки.

$continue$
11.06.2015, 23:29
Почему так?
""(pawncc.exe)."" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

$continue$
12.06.2015, 21:59
Хелп :help:

Daniel_Cortez
12.06.2015, 22:32
Почему так?
""(pawncc.exe)."" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Наверное потому, что неправильно поняли, что нужно вписывать.
Ок, немного переделал в инструкциях пункт 4, проверьте 1-й пост.

$continue$
13.06.2015, 00:01
Наверное потому, что неправильно поняли, что нужно вписывать.
Ок, немного переделал в инструкциях пункт 4, проверьте 1-й пост.

Настроил, спасибо, буду пользоваться!

mister-x
22.02.2016, 09:25
Помогите кнопки encoding нет антивир вырубил и всё в исключения и нет кнопки!!!Нельзя закомплимировать в никакую просто:diablo::diablo::diablo:

Danny_Marcelo
09.05.2016, 09:01
10.Скачать файл
http://tango.freedesktop.org/static/...w-freehand.png
и сохранить его в папку с SynWrite.

Перезалейте файл.

Desulaid
09.05.2016, 10:45
Перезалейте файл.

Можете взять любую иконку, иметь именно этот файл не так принципиально.

Daniel_Cortez
09.05.2016, 15:42
Перезалейте файл.
Как уже ответили выше, файл может быть любой - например, можете взять значок Pawn (pawn.ico) из папки с pawno, с помощью Paint подогнать его под нужный размер и сохранить в формате PNG.

Danny_Marcelo
10.05.2016, 01:46
Как уже ответили выше, файл может быть любой - например, можете взять значок Pawn (pawn.ico) из папки с pawno, с помощью Paint подогнать его под нужный размер и сохранить в формате PNG.

Понял, спасибо.

kushichka
25.06.2016, 16:11
Доволен прогой, но у меня она лагает, невозможно нормально колесиком листать..

vovandolg
13.08.2016, 22:41
Доволен прогой, но у меня она лагает, невозможно нормально колесиком листать..

Это из за галочки в совместимости, кстате DC, зачем она там?

Skull
16.08.2016, 18:38
Это из за галочки в совместимости, кстате DC, зачем она там?

Использую SynWrite на Windows 10 без совместимости, полёт замечательный.

vovandolg
18.08.2016, 01:35
Видимо DC просто любит стандартный интерфейс от XP вот и ставит галочку там, или...?

Skull
18.08.2016, 12:55
Видимо DC просто любит стандартный интерфейс от XP вот и ставит галочку там, или...?

Все равно не вижу смысла в галочке, ибо софт прилично лагает.

Daniel_Cortez
18.08.2016, 13:48
Статья составлялась больше 3 лет назад. Я уже давно не помню, зачем нужна та совместимость.
Сейчас для скриптинга мне вполне хватает Geany, её установка и настройка под Linux описана здесь (http://pro-pawn.ru/showthread.php?9068), в венде настройки примерно те же.