SPEdit - редактор SourcePawn

Тема в разделе "Полезные статьи и материалы", создана пользователем DarklSide, 18 апр 2015.

  1. DarklSide

    DarklSide

    Сообщения:
    680
    Симпатии:
    173
    SPEdit - редактор SourcePawn
    (v1.1.3.0)

    SPEdit (SP-Edit) - один из нескольких редакторов Sourcepawn со своими встроенными функциями, делая комфортное чтение кода и его написание. Написана на C# с поддержкой WPF (Merto-Modern) для лучшего ознакомления с интерфейсом. По умолчанию устанавливается со стандартными Sourcemod настройками, кототые можно с легкостью сменить по своему усмотрению.

    SPEdit - для win XP (by Reg1oxeN).

    Возможности:
    • Система компиляции (настраиваемая)
    • Подсветка синтаксиса (выделение функции из инклудов / настраиваемая)
    • Автозаполнение (возможные функции из инклудов, по мере набора / настраиваемая)
    • Автодополнение (описание данной функции и её возможные аргументы)
    • Sourcepawn шаблоны (настраиваемая)
    • Копирование до/после компиляции (вывод командой строки)
    • FTP загрузчик
    • Serverstart
    • Сворачивание кода
    • Редатирование окон/вкладок
    • Справочное руководство по API (так же на API-сайт)
    • Выделения строго 1.6 синтаксиса
    • Выделение парных скобок
    • Авто-отступ (активный и пасивный)
    • Список ошибок/предупреждений
    • Форматирования синтаксиса (от Tidy)
    • Автоматическое обновление
    • Lysis декомпилятор (улучшенная версия)
    • SMX декомпилятор (исправленная версия)
    • RCON запрос
    • Динамическая авто-компиляция/Инциализация всех открытых директорий (include's) [Новое]

    [​IMG]

    FAQ:

    • Я нашел ошибку, где я могу сообщить о ней?
    - Запустите редактор с ключом "-Safe". Будет создан журнал ошибок при запуске.
    Так же можете сообщить об ошибке TheJelle.

    1. Я хочу предложить функцию. Где я могу это сделать?
      - Можете сообщить об ошибке Здесь. Или написать на E-Mail - [email protected].
    2. Что такое .NET, C# или WPF?
      -.NET - среда исполнения для работ программ, интерпретирующая данный код в байт-код.
      C# (Си шарп) - язык программирования на который был написан редактор SPEdit.
      WPF - технология для вывода анимации и графического окна редактора, используя видеокарту.
    3. Как изменить дерикторию установки и какая она по умолчанию?
      - Установка по умолчанию \Users\ИмяПользователя\AppData\Roaming\spedit (%appdata%). Для изменения выберете автономный архив.
    4. Как FTP хранится пароль?
      - В конфигурационном файле с 128-битным шифрованием AES.
      Ключ для этого шифрования генерируется, при первом запуске редактора с "криптографический случайных чисел службы генератора». Этот ключ хранится в options_0.dat
      Вы можете воссоздать ключ, при запуске редактора с ключом "-rcck" - все старые пароли станут недействительны.
    5. Я создал свой собственный конфиг проекта, но Автозаполнение и Автодополнение не показывают свои результаты?
      - Сам файл должен находиться в инклудах дериктории, формата *.inc.
      Автодополнение анализирует многострочное комментарие как одну строку до функции. Функции/константы не добавил динамично..
    6. Некоторые части моего кода выделены красным цветом.
      - По умолчанию редактор выделяет код 1.6 синтаксиса.
      Если не хотите - откройте Options - 'Editor'
      и уберите галку с "Highlight Deprecated (<1.6) Syntax".
    7. Как я могу закрыть compilerlog?
      - Нажмите Esc.
    8. Когда выйдет версия Linux / Mac?
      -
      Возможно никогда. Из-за технологии WPF которых нет на Wine/Mono.
    9. Что планируется в будущем?
      - Многое что было задумано - уже сделано.
    10. Будет поддержка языков (Русский)
      - Your bunny wrote...

    Как:

    Открыть скрипт:
    - Files->Open, Ассоциировать, перетащить фал в редактор.

    Компиляция / Копирование / ServerStart / FTP:
    - Комриляция всех открытых окон - F5, текущий - F6.
    - Копирование компилированых всех плагинов - F7
    - Загрузить компилированные плагины на FTP - F8
    - Запустить свой сервер - F9

    Конфигурация:
    В главную роль в SPEdit играют конфиги. Они контролируют, как работает весь процесс компиляции.
    По-умолчанию есть 3 конфига. (SM 1.7.x, SM 1.7.x с SMLib 0.11 и SM 1.6.0).
    Они могут быть загружены, нажав на них в меню 'configurations', там же их возможное редактирование.
    Рекомендуется, создание собственных конфигов для крупных проектов с их собственными папками с инклудами.
    Так редактор будет в состоянии отображать Автозаполнения / Автодополнение - информацию из вашего проекта.

    PHP:
    Version 1.1.3.0 18th Jun 2016

    New/Added:
    • auto closing brackets

    Improved
    :
    • FTP Error Detection

    Fixed
    :
    • Closing Buttons dont work
    • Crash on typing a 
    in an opened string


    Version 1.1.1.0 
    13th April 2016

    New/Added:
    • darkhigh-contrast theme

    Improved
    :
    • UI to high contrast
    • Threaded RCON
    -Querys

    Fixed
    :
    • Bug in Search/Find Window
    • Error 
    while closing spedit
    • Keyboard Localization 
    for alt-gr depended keys


    Version 1.1.0.0 
    The Dynamic Update 29th March 2016

    New/Added:
    • New Sourcepawn Parser (about 100-5000faster [regex vstokenizer])
    • Dynamic Autocompletition/Intellisense from opened ".inc"-files.

    Improved:
    • Folding on multilinecomments
    • RCon Commands now 
    do not send the ".smx" extension
    • loaded file will now popup the window
    • 
    "this" is now a highlighted keyword
    • the 
    "parsed sourcemod definition"-window contains now much more details
    • autocompletition now indicates the type
    • autocompletition now uses much more types to complete
    • Updated MahApps
    .Metro and AvalonDock

    Fixed
    :
    • Crash on saving
    • Highlighting e
    -mails


    Version 1.0.3.2
    New/Added:
    Tabs->Whitespace Option

    Improved
    :

    Fixed:
    Open quotes now recognized by the reformatter
    Fixed reformatter crash
    Some minor bugfixes.


    Version 1.0.3.0 The RCon Update 12th April 2015
    New/Added:
    Added a Toolbar
    Safe argument (-safe) + New Crashlogs
    Jump-To dialog
    RCon Querying
    Line reformatting

    Improved
    :
    Improved overall-UI
    Better Indentation
    Better Intellisense
    Line-exact scrolling
    Added Closebuttons
    Better updating-system
    Nonblocking Serverstart
    Line ending normalization
    Opening/Focusing of the Find/Replace
    Failsafe config reading

    Fixed
    :
    No Autocomplete/Intellisense on preprocessor-lines
    Fixed various Syntaxreformatter issues
    Lagging while closing configwindow with no changes
    Crash on editing language files
    Allow FTP upload of copied files.
    DASM-Editor now uses the Global-Scrollspeed
    Forced safe in UTF8-without BOM
    Wrong saving when focus on split windows


    Version 1.0.2.0 
    The Big SMX Update 26th march 2015
    New/Added:
    Lysis Decompiler (Improved Version)
    smxdasm Dissassembler
    Native scrolling (1 line/tick)
    Improved Definition-Window

    Fixed
    :
    No indentation on singleline-cmds (if, else, while, for)


    Version 1.0.1.0 21th march 2015
    New/Added:
    Syntax Reformatter (Syntax Tidy)
    Expand/Collapse Folding

    Fixed
    :
    Highlighting bug on string-char combination
    Crash on save-dialog while closing
    Not saved/encrypted FTP-passwords on first startup.

    Исходники(оригинал):
    - Исходный код доступен на GitHub - Задавате вопросы или реквесты.
    - Оригинальная статья.

    Загрузка:

    Последняя версия: 1.1.3.0
    Можете установить из установщика (рекомендовано) или скачать архив папку.
    При установке - возможна ассоциация файлов *.sp и *.inc.
    Для корректной работы нужен установленный .NET 4.5 Framework.
     
    Последнее редактирование: 20 июн 2016
    Slava Litvinov, T1MOXA, san911 и 2 другим нравится это.
  2. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
    FAQ
     
  3. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.982
    DarklSide, есть вариант на win xp запустить?
     
  4. DarklSide

    DarklSide

    Сообщения:
    680
    Симпатии:
    173
    R1KO, технически возможно. Подсказать разработчику пакет async, для необходимости использовать версию .NET 4.5. Можно изменить версию .NET (с помощью editbin.exe и параметров) используемую при компиляции (т.к. .NET 4.5 - CLR использует Framework версии 4.0) и изменить targetframework на 4.0. Но возможно не будет работать, должным образом - пользовательский интерфейс (большей степени WPF). Или всё-таки на xp - предеться ограничиваться notepad'ом ++ со своим синтаксисом.
     
    MihailM и R1KO нравится это.
  5. MihailM

    MihailM убежал :)

    Сообщения:
    446
    Симпатии:
    27
    Эта версия работает только с W7 ..
    Не могли бы вы добавить в описание тогда , что данный редактор работает начиная с W7.
    Жаль что я на ХРюшке и не могу оценить работоспособность редактора .
    Или же , если не трудно то скопилить программу для .NET 4.0

    А в остальном спасибо за редактор , и Удачи в развитие !
     
  6. KapaT

    KapaT Эгоист

    Сообщения:
    1.983
    Симпатии:
    408
    ...
     
  7. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
    DarklSide, Есть обнова (1.0.3.1)
     
  8. DarklSide

    DarklSide

    Сообщения:
    680
    Симпатии:
    173
    В данной случае, при выделении функции (точнее её часть) - выделяется другой найденный часть функции. Мое предложение добавить пункт, чтобы выделялись только целое слово, а нее её чаcть.
    Например есть слова:
    a. RoundStart
    b. RoundStartandEnd
    При выделении a. RoundStart -> выделяется и из b. RoundStartandEnd.
    Т.е. дабавить опцию выделять только целые слова.

    P.S.: данное предложение отправлено автору.
     
  9. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
    Как цвет фона изменить? А то белый цвет глаза режит:(
     
  10. DarklSide

    DarklSide

    Сообщения:
    680
    Симпатии:
    173
    Саша Шеин, возможно в скором....

    временное решение:

    a. Панель управления -> "Специальные возможности - Включить экранную лупу".
    b. Минус масштаб на 100% (активация, при нажатии на лупу).
    c. ctrl+alt+f.
    d. Параметры - Включить инверсию цвета (либо ctrl+alt+i).
     
    Саша Шеин нравится это.
  11. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.982
    Было бы хорошо чтобы была ф-я, выбрать inc файл, прога его парсит и добавляет его ф-и на автозавершение и подсказки. Возможно сразу добавляет строку инклюда в плагин.
     
  12. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
    [​IMG]
     
  13. DarklSide

    DarklSide

    Сообщения:
    680
    Симпатии:
    173
    R1KO, это уже все реализовано. Например, инклуд vip_core.inc - правильный формат, и дает подсказки/автозавершение в полной мере.

    [​IMG]

    ////////////

    Только проблемы с VIP_RegisterFeature из-за табуляцией:

    PHP:
    native VIP_RegisterFeature(const String:sFeatureName[],
            
    VIP_ValueType:   ValType   VIP_NULL,
            
    VIP_FeatureType:  FeatureType  TOGGLABLE,
            
    ItemSelectCallbackitem_select_callback ItemSelectCallbackINVALID_FUNCTION,
            
    ItemDisplayCallbackitem_display_callback ItemDisplayCallbackINVALID_FUNCTION,
            
    ItemDrawCallback:  item_draw_callback  ItemDrawCallback:  INVALID_FUNCTION);
    [​IMG]

    Решить можно так:
    PHP:
    native VIP_RegisterFeature(const String:sFeatureName[],
    VIP_ValueTypeValType VIP_NULL,
    VIP_FeatureTypeFeatureType TOGGLABLE,
    ItemSelectCallbackitem_select_callback ItemSelectCallbackINVALID_FUNCTION,
    ItemDisplayCallbackitem_display_callback ItemDisplayCallbackINVALID_FUNCTION,
    ItemDrawCallbackitem_draw_callback ItemDrawCallbackINVALID_FUNCTION);
    или так: (в одну строку)

    PHP:
    native VIP_RegisterFeature(const String:sFeatureName[], VIP_ValueTypeValType VIP_NULLVIP_FeatureTypeFeatureType TOGGLABLEItemSelectCallbackitem_select_callback ItemSelectCallbackINVALID_FUNCTIONItemDisplayCallbackitem_display_callback ItemDisplayCallbackINVALID_FUNCTIONItemDrawCallbackitem_draw_callback ItemDrawCallbackINVALID_FUNCTION);
    Т.е. совсем убрать табуляцию.

    [​IMG]

    P.S.: Не видно полностью, из-за множества параметров.
     
  14. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.982
    DarklSide, да ладно, я делал для читабельности человека, а не программы. Тем более любой может сам их убрать автозаменой.
     
  15. DarklSide

    DarklSide

    Сообщения:
    680
    Симпатии:
    173
    Было бы не плохо:

    в функции(выделять в подсказках, пIараметр, на которой сейчас находишься (полужирный)).
     
    Последнее редактирование: 25 июн 2015
  16. Reg1oxeN

    Reg1oxeN

    Сообщения:
    84
    Симпатии:
    26
    кто там хотел под хп? держите 1.0.3.2:
    скачать
    сурсы
    для работы на хп строго необходим пакет .NET Framework 4 KB2468871

    в компиляцию вошла тройка моих изменения, а именно:
    - ускоренное выделение похожих слов (раз в 2 сек уж очень долго было для меня)
    - изменены местами бинды f5 и f6 (было неудобно)
    - удалено автообновление


    ну вроде должно работать.. точно сказать не могу т.к. попросту не имею под рукой хп.
    во всяком случае если на вин10 все отлично запускается, то и на хп с установленным пакетом должно точно(без пакета тоже запустится, но будет частичная работа).
     
  17. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.982
    Reg1oxeN, Спасибо, проверю.

    А вот это нужно бы и в релизе сделать

    Можно как-то его русифицировать?

    При попытке компиляции/декомпиляции вылезает ошибка и програ закрывается:
    http://prntscr.com/89mw9o
     
  18. Reg1oxeN

    Reg1oxeN

    Сообщения:
    84
    Симпатии:
    26
    R1KO,
     
  19. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.982
    Reg1oxeN, я слепой.
     
  20. Reg1oxeN

    Reg1oxeN

    Сообщения:
    84
    Симпатии:
    26
    лол. пардон. случайно при чистке после компиляции удалил нужный файл :D
    затестил на виртуалке и теперь с уверенностью могу заявить о работоспособности!
    фикс залит все по той же ссылке.

    я так и не понял зачем программе русик, если у нее и так интуитивно понятный интерфейс...