2009-08-17 6 views
3

J'ai programmé sous Linux/UNIX depuis plusieurs années, mais récemment, j'avais besoin de faire quelque chose dans VS2008. J'ai eu du mal à comprendre comment VS organise le travail. Connaissez-vous des ressources (des pages Web gratuites sont-elles préférables, mais des livres sont-elles également acceptables) qui pourraient me montrer une image générale et expliquer au moins quelques détails? Les exemples sont les bienvenus, la comparaison avec une pile UNIX typique est la bienvenue.Visual Studio IDE du point de vue d'un programmeur UNIX

Je n'ai pas besoin de référence/guide de langue (C#/C++/VB/...); J'ai vu certains d'entre eux et aucun d'entre eux semble suggérer comment travailler efficacement avec VS.

+0

Vous avez mentionné que vous utilisez CMake . Pourquoi ne pas s'en tenir à ça? Cmake créera volontiers des fichiers de projet VS pour vous. – sbi

+0

Parce que les projets/solutions sont déjà fabriqués à la main par mes collègues. J'ai aussi essayé d'utiliser CMake dans Windows, seulement pour obtenir ceci: http://stackoverflow.com/questions/1269221/ – liori

+0

@liori: Je connais au moins un projet Open Source qui utilise avec succès CMake sous Windows. J'ai essayé et ça a marché. Cependant, puisque vous avez déjà des solutions, ceci est sans intérêt. – sbi

Répondre

6

Vous pourriez être intéressé par introductions to MSBuild, le format de projet de Visual Studio. Alors que sous UNIX vous avez un script autoconfig, et Makefiles, VS2008 permet la plus grande partie de la configuration grâce aux clics droits et aux options de menu. Un deuxième domaine d'intérêt sera probablement build configurations. Au lieu de relancer le script de configuration sur différentes cibles, ou pour des piles différentes, vous spécifiez des cibles avec le gestionnaire de configuration. Une fois que vous avez sélectionné une nouvelle configuration ("x86" ou "Release", ou personnalisée comme "Production"), VS se désactive pendant un certain temps car elle met à jour l'Intellisense de vos nouvelles définitions de préprocesseur, par exemple, et fichiers de ressources. Votre configuration "Debug" définira probablement la macro "DEBUG", de sorte que vous pouvez utiliser des régions entourées de #ifdef DEBUG, par exemple. Visual Studio organise des groupes communs de fichiers source en "Projets", qui peuvent être référencés par une ou plusieurs "Solutions". Les projets établissent l'interdépendance entre eux et les bibliothèques externes. Si vous regardez la structure des projets dans le Microsoft Enterprise Library, vous remarquerez qu'il existe plusieurs fichiers de solution différents (* .sln) qui englobent différents groupes de fichiers de projet communs. Vous pouvez avoir un fichier de solution différent, par exemple, si vous voulez réduire le temps de chargement/compilation, en ne chargeant pas les projets de test unitaires avec chaque build.

Ainsi, des analogies:

façon UNIX:
# ./configure
# make
# nano Makefile
# make

VS2008 façon:
# (Configurer « Propriétés du projet ", Symboles de compilation conditionnelle, Chemins de construction, tous à partir de l'application GUI)
# (cliquez sur Build)
# (Modifier la configuration)
# (Cliquez sur Build)

+2

Solution UNIX, nano? Aucun mec Unix respectueux utilise n'importe quoi appelé "nano". De plus, après ./configure, vous avez rarement besoin d'éditer le Makefile généré. Si vous le faites, votre script de configuration a été mal configuré. – xcramps

+0

Ces jours-ci je préfère utiliser CMake, mais c'est une question de préférence. Merci pour les liens. – liori

+1

C'était un exemple. Personnellement, j'utilise vim. Et vrai. Vous n'avez généralement pas besoin d'éditer le Makefile. Mais l'analogie avec VS est quelque part dans les propriétés du projet ou la configuration de construction. – maxwellb

3

Je n'ai pas de liens pour vous, mais:

  • Visual Studio peut ouvrir une et une seule solution à la fois
  • Une solution peut avoir zéro (pas très utile) ou plusieurs projets
  • code (dans la langue) va dans des projets
  • les projets peuvent avoir un certain nombre de fichiers et/ou répertoires
  • les projets peuvent faire référence à des fichiers partout, non seulement dans leur propre structure de répertoire (bien que peu le font)
+3

Vous pouvez avoir plusieurs instances d'un Visual Studio. – Dykam

0

Avez-vous envisagé d'installer cygwin et gcc? Si vous cherchez à écrire une application de console, cela pourrait faire l'affaire.

+0

Je dois faire C++/CLI et C#. Et je dois travailler sur mon code de coworkers. Et j'aimerais au moins essayer de comprendre ce que les gens voient dans VS. – liori

1

Visual Studio est un IDE très flexible et puissant. Je pense que la meilleure façon de se faire une idée d'ensemble est de construire soi-même cette grande image en utilisant ses propres termes.

configurations Build et propriétés du projet sont certainement deux domaines que vous voulez mettre l'accent sur.

Vous devriez explorer les différentes options et commutateurs de configuration pour générer des assemblages et comment ils sont gérés en général. Apprendre les différentes options de construction et comment les assemblages sont gérés peut vous éviter des maux de tête sur la route.

Le débogueur VS est une chose de beauté et je recommande de consacrer du temps à explorer ses capacités. Je vous recommande de vous familiariser avec:

  • gestion Breakpoint (en particulier la fenêtre point d'arrêt) ainsi que points d'arrêt conditionnels
  • La Regarder et sections locales fenêtres
  • Discussion et mémoire fenêtres et outils
  • immédiate fenêtre (souvent négligé et sous-estimés si vous me demandez)

Enfin, vous devriez jeter un oeil à certains essayé et testé outils et plugins et se familiariser avec eux. Je recommande personnellement ReSharper, Dependancy Walker et .NET Reflector. ReSharper est un excellent outil de productivité et Dépendance Walker et réflecteur .NET sont excellentes analyses et aides à la mise au point

Voici quelques fils stackoverflow pratiques:

Do you have any recommended add-ons/plugins for Microsoft Visual Studio?

Favourite Visual Studio keyboard shortcuts

Questions connexes