Notepad++ Подсветка синтаксиса MQL4

 
Можно ли в Notepad++ сделать возможной подсветку синтаксиса MQL4 как в MetaEditor?
 

Можно, смотрите View -> User-Defined Dialogue меню

Там можно и через UI наконфигурить и в .xml файле. Вот для примера быстро накидал.

Если у кого будет время можно отдельный файлик mql4 конфигурации заделать взяв для основы файло c c/с++ конфигурацией,

 
Все уже давно украдено до вас : https://www.mql5.com/ru/forum/120538
 
GaryKa:

Можно, смотрите View -> User-Defined Dialogue меню

Там можно и через UI наконфигурить и в .xml файле. Вот для примера быстро накидал.

Если у кого будет время можно отдельный файлик mql4 конфигурации заделать взяв для основы файло c c/с++ конфигурацией,


Спасибо!
Если использовать пользовательский xml-файл то есть проблема - цветом оператора (if, for и т.д.) будет помечаться
и слово, находящееся справа от скобки, если нет пробела.
Нашел готовый файл - прикрепил к сообщению, может кому-нибудь пригодится.

Лучше получается (т.е. нет описанной выше проблемы) если изменить стиль языка C, подправив цвета и добавив функции MQL4:

init deinit start AccountBalance
AccountCredit
AccountCompany
AccountCurrency
AccountEquity
AccountFreeMargin
AccountFreeMarginCheck
AccountFreeMarginMode
AccountLeverage
AccountMargin
AccountName
AccountNumber
AccountProfit
AccountServer
AccountStopoutLevel
AccountStopoutMode
Alert
ArrayBsearch
ArrayCopy
ArrayCopyRates
ArrayCopySeries
ArrayDimension
ArrayGetAsSeries
ArrayInitialize
ArrayIsSeries
ArrayMaximum
ArrayMinimum
ArrayRange
ArrayResize
ArraySetAsSeries
ArraySize
ArraySort
CharToStr
Comment
DayDayOfWeek
DayOfYear
DoubleToStr
FileClose
FileDelete
FileFlush
FileIsEnding
FileIsLineEnding
FileOpen
FileOpenHistory
FileReadArray
FileReadDouble
FileReadInteger
FileReadNumber
FileReadString
FileSeek
FileSize
FileTell
FileWrite
FileWriteArray
FileWriteDouble
FileWriteInteger
FileWriteString
GetLastError
GetTickCount
GlobalVariableCheck
GlobalVariableDel
GlobalVariableGet
GlobalVariableName
GlobalVariableSet
GlobalVariableSetOnCondition
GlobalVariablesDeleteAll
GlobalVariablesTotal
HideTestIndicators
Hour
iAC
iAD
iAlligator
iADX
iATR
iAO
iBars
iBarShift
iBearsPower
iBands
iBandsOnArray
iBullsPower
iBWMFI
iCCI
iCCIOnArray
iClose
iCustom
iDeMarker
iEnvelopes
iEnvelopesOnArray
iForce
iFractals
iGator
iIchimoku
iMomentum
iMomentumOnArray
iMFI
iMA
iMACD
iMAOnArray
iHigh
iHighest
iLow
iLowest
iOBV
iOpen
iOsMA
IndicatorBuffers
IndicatorCounted
IndicatorDigits
IndicatorShortName
iRSI
iRSIOnArray
iRVI
iSAR
IsConnected
IsDemo
IsDllsAllowed
IsExpertEnabled
IsLibrariesAllowed
IsOptimization
IsStopped
iStdDev
iStdDevOnArray
iStochastic
IsTesting
IsTradeAllowed
IsTradeContextBusy
IsVisualMode
iTime
iVolume
iWPR
MarketInfo
MathAbs
MathArccos
MathArcsin
MathArctan
MathCeil
MathCos
MathExp
MathFloor
MathLog
MathMax
MathMin
MathMod
MathPow
MathRand
MathRound
MathSin
MathSqrt
MathSrand
MathTan
MessageBox
Minute
Month
NormalizeDouble
ObjectCreate
ObjectDelete
ObjectDescription
ObjectFind
ObjectGet
ObjectGetFiboDescription
ObjectGetShiftByValue
ObjectGetValueByShift
ObjectMove
ObjectName
ObjectsDeleteAll
ObjectSet
ObjectSetFiboDescription
ObjectSetText
ObjectsTotal
ObjectType
OrderClose
OrderCloseBy
OrderClosePrice
OrderCloseTime
OrderComment
OrderCommission
OrderDelete
OrderExpiration
OrderLots
OrderMagicNumber
OrderModify
OrderOpenPrice
OrderOpenTime
OrderPrint
OrderProfit
OrderSelect
OrderSend
OrdersHistoryTotal
OrderStopLoss
OrdersTotal
OrderSwap
OrderSymbol
OrderTakeProfit
OrderTicket
OrderType
Period
PlaySound
Print
RefreshRates
Seconds
SendFTP
SendMail
SetIndexArrow
SetIndexBuffer
SetIndexDrawBegin
SetIndexEmptyValue
SetIndexLabel
SetIndexShift
SetIndexStyle
SetLevelStyle
SetLevelValue
Sleep
StringConcatenate
StringFind
StringGetChar
StringLen
StringSetChar
StringSubstr
StringTrimLeft
StringTrimRight
StrToDouble
StrToInteger
StrToTime
Symbol
TerminalCompany
TerminalName
TerminalPath
TimeCurrent
TimeDay
TimeDayOfWeek
TimeDayOfYear
TimeHour
TimeLocal
TimeMinute
TimeMonth
TimeSeconds
TimeToStr
TimeYear
UninitializeReason
WindowBarsPerChart
WindowExpertName
WindowFind
WindowFirstVisibleBar
WindowHandle
WindowIsVisible
WindowOnDropped
WindowPriceMax
WindowPriceMin
WindowPriceOnDropped
WindowRedraw
WindowScreenShot
WindowTimeOnDropped
WindowsTotal
WindowXOnDropped
WindowYOnDropped
Year

А также, необходимо добавить следующее ко второй цветовой группе:
false true extern double int string bool color datetime
Файлы:
mql4.zip  3 kb
 

Ловите.

Инструкция по применению.

1. Скачать три файла в одну папку.

2. Файл Notepad++.z01.zip переименоввать в Notepad++.z01

3. Файл Notepad++.z02.zip переименоввать в Notepad++.z02

4. Распаковать файл Notepad++.zip

5. Из распакованоой папки Notepad++ запустить файл NOTEPAD++.EXE. Инсталляция не требуется. Папка пользовательских данных находится в папке NOTEPAD++. Это та папка, которую программа при инсталляции предлагает на WinXP прописать в документ энд сеттингс. Там есть выбор - можно выбрать не их, а саму папку NOTEPAD++, что я и сделал при инсталляции. Так что прога будет нормально всё подсвечивать даже с флешки.

Подсветка синтаксиса уже настроена. Просто открываем файл mq4 или mqh. Если программа на автопилоте не распознает подсветку, то в верхнем меню жмём "Синтаксис - MQL4"

Файлы:
notepadsn.z01.zip  3072 kb
notepadwn.z02.zip  3072 kb
notepadea.zip  1602 kb
 

Подсветку синтаксиса делал я сам. Так что уберите подсветку коричневым цветом пользовательских функций - у вас их нет.

Если какая-то из команд языка не подсвечивается, то видать я не добавлял её в подсветку - это можете легко сделать сами. И вот ещ что, в выражении типа:

abc*Point

Point подсвечен не будет - ну он тут сливается со знаком умножения. Если его подсветка нужна, то можно ставить пробелы с обоих сторон от звёздочки. Меня это не парило и я с этим не боролся, тем более, что подсветку отдельных переменных можно сделать простым выделением переменной или вкладкой подсветки в поисковом окне.

 
drknn:

Ловите.

Спасибо!
Причина обращения: