GetPythonIntelliSenseInfoResult GetPythonIntelliSenseInfo(OdId tObject, GetPythonIntelliSenseArg tArg)
tObject. Моникёр Python-модуля, с кодом которого осуществляется работа.
tArg. Параметры выполнения операции.
Операция GetPythonIntelliSenseInfo получает список типов и членов типов, доступных для использования в текущей точке Python-кода.
Операция позволяет получить тот список, который в дальнейшем отображается при использовании технологии IntelliSense во время разработки кода Python-модуля. Для выполнения операции укажите в поле tObject моникёр Python-модуля, а в поле tArg.cursor координаты расположения курсора в коде. Если модуль был изменён, но еще не сохранялся, то его код может быть передан в поле tArg.text.
Результатом операции будет коллекция элементов кода, которые могут быть использованы в указанной координате в коде.
Ниже приведён пример получения списка типов и членов типов, доступных для использования в указанной координате кода. В запросе передаётся моникёр Python-модуля, его изменённый текст и координата в коде. В ответе возвращается полученный список типов и членов типов.
{
"GetPythonIntelliSenseInfo" :
{
"tObject" :
{
"id" : "AFPDLADJINDAGOAEPHGKIBADCCNPCKBEKJPAEJFODGCJCBAD!M!304842"
},
"tArg" :
{
"text" : "from datetime import date;def SimpleProcedure(d):\tprint("Today: " + d.strftime("%d-%b-%Y"))\tcurrent_date = date.today()SimpleProcedure(current_date)",
"cursor" :
{
"col" : "20",
"row" : "5"
}
}
}
}
{
"GetPythonIntelliSenseInfoResult" :
{
"items" :
{
"it" :
[
{
"type" : "Function",
"name" : "ctime",
"signature" : "(*args)"
},
{
"type" : "Property",
"name" : "day"
},
{
"type" : "Function",
"name" : "fromisoformat",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "fromordinal",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "fromtimestamp",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "isocalendar",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "isoformat",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "isoweekday",
"signature" : "(*args)"
},
{
"type" : "Member",
"name" : "max"
},
{
"type" : "Member",
"name" : "min"
},
{
"type" : "Property",
"name" : "month"
},
{
"type" : "Function",
"name" : "replace",
"signature" : "(*args)"
},
{
"type" : "Member",
"name" : "resolution"
},
{
"type" : "Function",
"name" : "strftime",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "timetuple",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "today",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "toordinal",
"signature" : "(*args)"
},
{
"type" : "Function",
"name" : "weekday",
"signature" : "(*args)"
},
{
"type" : "Property",
"name" : "year"
}
]
}
}
}
public static GetPythonIntelliSenseInfoResult GetPythonIntelliSenseInfo(MbId mb, string pythonModuleId, string pythonText)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new GetPythonIntelliSenseInfo()
{
tArg = new GetPythonIntelliSenseArg()
{
cursor = new CodePoint()
{
row = 5,
col = 20
},
text = pythonText
},
// Моникёр Python-модуля
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, pythonModuleId).k }
};
// Получение информации
var result = somClient.GetPythonIntelliSenseInfo(tGet);
return result;
}
См. также: