Вы можете использовать CTE (или подзапрос) как
WITH CTE AS
(
SELECT <COMPLICATED CODE THAT RETURNS A SINGLE INT> AS Value
FROM ...
)
SELECT CASE WHEN Value = 0 THEN 1 ELSE Value END
FROM CTE
Таким образом, вы пишете сложный код только один раз, а затем используете только столбец Value
.
Я думаю, что ЕЦБ с CEDET просто слишком чрезмерно увеличен в размере. Я использую одну только панель кнопок быстрого доступа с emacs, и я использую исходный синтаксический анализатор для C/C++. Просто добавьте эту строку к своему .emacs, и Вы будете в порядке:
(speedbar-add-supported-extension ".cs")
(add-to-list 'speedbar-fetch-etags-parse-list
'("\\.cs" . speedbar-parse-c-or-c++tag))
Это обрабатывает C# отлично без проблемы.Надеюсь, это поможет.
Я использовал панель кнопок быстрого доступа ранее и действительно раздражался. Я теперь использую ЕЦБ. ЕЦБ Использует свой собственный буфер для дерева и может дополнительно показать схему файла CS в отдельном буфере. Они все помещаются в тот же кадр, в то время как Панель кнопок быстрого доступа имеет свой собственный кадр.
У меня есть некоторая пользовательская установка материала для ЕЦБ. Вы видите его здесь.
У меня работает.
Я использовал
(speedbar-add-supported-extension ".cs")
и получил следующее: