Ваш запрос должен быть таким, чтобы выяснить, какую версию ваш пользователь еще не прочитал.
select data_sops.sop_index,data_sops.sop_code,data_sops.sop_version
from data_sops
join (SELECT sop_code, MAX(sop_version) sop_version
FROM data_sops GROUP BY sop_code) a
on data_sops.sop_code = a.sop_code
and data_sops.sop_version = a.sop_version
where not exists
(select log_sop_sop_index from log_sops
where data_sops.sop_index = log_sop_sop_index
and log_sop_user_index = '$userid')
Самая близкая вещь, которую я видел, Codekana, хотя не имеет "фоновой подсветки синтаксиса" этим colorizes различные структуры управления потоком:
(источник: codekana.com )
(источник: codekana.com )
Я автор Кодекана . Действительно, то, что вы описали выше, было главной целью продукта. Кстати, я собираюсь опубликовать статью о «создании» и лежащей в основе технологии, которая довольно изящна. Возможно, он будет доступен на следующей неделе (26 марта 2009 г. или около того). Рекомендуется к прочтению, если можно так выразиться.
Причина, по которой Кодекана предоставляет только контуры вместо цветного фона, заключается в ограничении расширяемости рендеринга текста в VS. Я надеюсь, что когда-нибудь в будущем я смогу реализовать версию с твердым фоном, хотя это определенно потребует серьезного взлома и «ракетной хирургии».
Я бы прокомментировал выше, вместо того, чтобы дать другой ответ, но моя репутация не позволяет комментировать. : (
[ОБНОВЛЕНИЕ: Спасибо за комментарии, теперь я могу комментировать!]
Coderush делает структурное выделение:
(источник: devexpress.com )
Это довольно выполнимый Вы могли записать свой собственный плагин с DevExpress, который достигает Вашего точного исходного снимка экрана.
Текущий редактор BlueJ делает именно то, что вы описываете:
IDE Visual Studio уже делает это, но с другой визуализацией - можно развернуть и сократить вложенные блоки путем нажатия +/-кнопки на левом поле.
Хорошая идея. Лично я действительно не люблю сворачивать редакторы, но это было бы вполне терпимо - хотя вы бы хотели легко включать и выключать его. Возможно, кто-то уже сделал это для гипер-программируемых редакторов, таких как vim и emacs?
Я думаю, что Xcode 3 делает примерно, что Вы хотите, особенно с , Фокус Следует, Выбор включил . Отдельные блоки выделяются, поскольку Вы нависаете над ними на боковой панели.
Необходимо попробовать это Дополнение, и Вы никогда не будете работать в Visual Studio без него, http://www.jetbrains.com/resharper/features/index.html
пз: я не аффилирован с этой компанией или продуктом, но я - наркоман, использующий его, и я никогда не могу работать без него, это сохраняет меня много времени в моих задачах кодирования и исследовании кода и отладке.
Существует также бесплатное расширение, которое, по крайней мере, рисует направляющие линии, окрашенные в соответствии с тем, к чему они принадлежат. Например, if
направляет зеленый и т. Д.:
Он называется StructureAdornment , и вы можете получить его в Extension Manager или из Visual Studio Gallery .
Я нахожу это очень удобным.