2012-04-17 4 views
2

У меня есть простой проект C#, который загружает внешние файлы C# при запуске, которые будут использоваться в качестве скриптов. К сожалению, при редактировании любого из этих «непроектных» файлов в Visual Studio я получаю только самую основную подсветку синтаксиса, поскольку классы и типы внутри проекта не известны в контексте этого внешнего файла.Подсветка синтаксиса для файлов без проекта в Visual Studio

Не добавляя файлы к моему проекту (побеждая цель их внешних скриптов), можно ли каким-либо образом определить внешний интерфейс или каким-либо иным образом убедить Visual Studio (2008) проанализировать код в этих файлах в контекст классов в проекте?

Несколько уточнений (с благодарностью начала) отвечающие

  • Людей должны иметь возможность редактировать эти сценарии, не имеющий доступ к моему исходному коду
  • Людей не должно настроить все Визуальные Studio для редактирования одного исходного файла, который может содержать менее 10 строк реального кода.
+0

Когда вы говорите, подсветка основного синтаксиса, что вы имеете в виду? Разве это не распознавание определенных объектов, потому что классы находятся в пространстве имен без ссылки? –

+0

@JasonDown Да, он не распознает классы, которые являются частью проекта, потому что файлы сценариев живут в другом месте. –

+0

Тег [tag: script] здесь бессмысленен: он не имеет никакого отношения к заданному вопросу, и маловероятно, что любой, кто следует или ищет тег [tag: script], сможет ответить на этот вопрос , И обратите внимание, что фразы типа «спасибо» в вопросах [считаются помехами и должны быть удалены] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed -из-сообщения). Скрипт работает, чтобы сделать это * автоматически *, но похоже, что он пропустил ваш. Пожалуйста, не откатывайте мои правки. Если у вас есть проблемы, откройте вопрос о Meta. –

ответ

1

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

+0

Нет, поскольку я сказал, что полностью победит цель перечисления скриптов во время выполнения. Если бы я решил сделать это, не было бы необходимости компилировать их во время выполнения вообще, я бы просто скомпилировал их в проект. –

+0

Чтобы уточнить, идея состоит в том, что люди могут разрабатывать эти сценарии, не имея доступа к моему коду. ;-) –

+1

Я понимаю сейчас. Я думаю, что тогда вам нужно сделать свой синтаксис. Возможно, используйте существующий компонент, где вы можете определить ключевые слова ... – r03

0

Для получения этой информации в Visual Studio необходимо внести дополнительную информацию.

Я думаю о Bridge Pattern и вам нужно добавить тело класса в том же файле

или используя фиктивный объекты- вы можете легко использовать их, чтобы обеспечить подсветку синтаксиса без совместного использования кода (то же самое здесь - все в одном файле):

Вы можете отделить сценарий и классы, занимающиеся анализом, если вы хотите иметь файл проекта.

Смежные вопросы