Browse Source

Merge branch 'master' of github.com:icsharpcode/SharpDevelop into newNR

Conflicts:
	src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs
	src/AddIns/BackendBindings/CppBinding/CppBinding/Project/CppProject.cs
	src/AddIns/BackendBindings/FSharpBinding/FSharpProject.cs
	src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
	src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ContextActionsRenderer.cs
	src/Libraries/NRefactory/Project/Src/Parser/CSharp/CSharpParser.cs
	src/Libraries/NRefactory/Test/Parser/Expressions/UnaryOperatorExpressionTests.cs
	src/Main/Base/Project/Src/Project/CompilableProject.cs
newNRvisualizers
Siegfried Pammer 14 years ago
parent
commit
2e0a14e115
  1. 107
      data/resources/StringResources.de.resx
  2. 48
      data/resources/StringResources.es-mx.resx
  3. 9
      data/resources/StringResources.es.resx
  4. 9
      data/resources/StringResources.fr.resx
  5. 9
      data/resources/StringResources.it.resx
  6. 22
      data/resources/StringResources.nl.resx
  7. 9
      data/resources/StringResources.pt-br.resx
  8. 25
      data/resources/StringResources.resx
  9. 223
      data/resources/StringResources.zh.resx
  10. 2
      data/resources/languages/LanguageDefinition.xml
  11. 8
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooProject.cs
  12. 9
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs
  13. 10
      src/AddIns/BackendBindings/CppBinding/CppBinding/Project/CppProject.cs
  14. 8
      src/AddIns/BackendBindings/FSharpBinding/FSharpProject.cs
  15. 21
      src/AddIns/BackendBindings/JavaScriptBinding/Project/Src/JavaScriptParser.cs
  16. 8
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonProject.cs
  17. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/Chiron.exe
  18. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/DLLs/IronPython.Wpf.dll
  19. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/IronPython.Modules.dll
  20. 73
      src/AddIns/BackendBindings/Python/RequiredLibraries/IronPython.Modules.xml
  21. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/IronPython.dll
  22. 71
      src/AddIns/BackendBindings/Python/RequiredLibraries/IronPython.xml
  23. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/Microsoft.Dynamic.dll
  24. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/Microsoft.Scripting.Metadata.dll
  25. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/Microsoft.Scripting.Silverlight.dll
  26. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/Microsoft.Scripting.dll
  27. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/ipy.exe
  28. 12
      src/AddIns/BackendBindings/Python/RequiredLibraries/ipy.exe.config
  29. BIN
      src/AddIns/BackendBindings/Python/RequiredLibraries/ipyw.exe
  30. 12
      src/AddIns/BackendBindings/Python/RequiredLibraries/ipyw.exe.config
  31. 8
      src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyProject.cs
  32. 12
      src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingDesignerLoader.cs
  33. 8
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
  34. 8
      src/AddIns/BackendBindings/WixBinding/Project/Src/Project/WixProject.cs
  35. 65
      src/AddIns/Debugger/Debugger.AddIn/Options/DebuggingOptionsPanel.xaml
  36. 27
      src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml.cs
  37. 8
      src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml.cs
  38. 40
      src/AddIns/Debugger/Debugger.AddIn/Pads/LocalVarPad.cs
  39. 33
      src/AddIns/Debugger/Debugger.AddIn/Pads/RunningThreadsPad.cs
  40. 15
      src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs
  41. 7
      src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs
  42. 46
      src/AddIns/Debugger/Debugger.AddIn/TreeModel/Utils.cs
  43. 1
      src/AddIns/Debugger/Debugger.Core/Debugger.Core.csproj
  44. 154
      src/AddIns/Debugger/Debugger.Core/IDStringProvider.cs
  45. 12
      src/AddIns/Debugger/Debugger.Core/MetaData/DebugMethodInfo.cs
  46. 17
      src/AddIns/Debugger/Debugger.Core/MetaData/DebugType.cs
  47. 3
      src/AddIns/Debugger/Debugger.Core/Module.cs
  48. 10
      src/AddIns/Debugger/Debugger.Core/Options.cs
  49. 1
      src/AddIns/Debugger/Debugger.Tests/Tests/DebugType_Tests.cs
  50. 20
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/TextMarkerService.cs
  51. 12
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/AbstractCodeDomDesignerLoader.cs
  52. 12
      src/AddIns/DisplayBindings/ILSpyAddIn/NavigateToDecompiledEntityService.cs
  53. 73
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlCodeCompletionBinding.cs
  54. 4
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlCompletionItem.cs
  55. 2
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlCompletionItemCollection.cs
  56. 21
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlParser.cs
  57. 3
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlSchemaCompletionCollection.cs
  58. 8
      src/AddIns/DisplayBindings/XmlEditor/Test/Completion/AttributeCompletionWindowTestFixture.cs
  59. 7
      src/AddIns/DisplayBindings/XmlEditor/Test/Completion/CtrlSpaceAttributeValueCompletionTestFixture.cs
  60. 2
      src/AddIns/DisplayBindings/XmlEditor/Test/Completion/ElementCompletionWindowTests.cs
  61. 57
      src/AddIns/DisplayBindings/XmlEditor/Test/Completion/NamespaceCompletionWindowTestFixture.cs
  62. 8
      src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockDocument.cs
  63. 2
      src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockTextEditor.cs
  64. 1
      src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj
  65. 3
      src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs
  66. 45
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/DebugOptions.xaml
  67. 7
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/DebugOptions.xaml.cs
  68. 50
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/StorageLocationConverter.cs
  69. 10
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs
  70. 8
      src/Main/Base/Project/Src/Project/AbstractProject.cs
  71. 2
      src/Main/Base/Project/Src/Project/Behaviors/DotNetStartBehavior.cs
  72. 3
      src/Main/Base/Project/Src/Project/Behaviors/ProjectBehaviorSupportedConditionEvaluator.cs
  73. 6
      src/Main/Base/Project/Src/Project/CompilableProject.cs
  74. 14
      src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs
  75. 10
      src/Main/Base/Project/Src/Project/MissingProject.cs
  76. 10
      src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs
  77. 27
      src/Main/Base/Project/Src/Project/Solution/Solution.cs
  78. 10
      src/Main/Base/Project/Src/Project/UnknownProject.cs
  79. 2
      src/Main/Base/Test/MemberLookupHelperTests.cs
  80. 2
      src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs

107
data/resources/StringResources.de.resx

@ -629,6 +629,9 @@ Optional können Sie auch ein Arbeitsverzeichnis und Kommandozeilen-Argumente an @@ -629,6 +629,9 @@ Optional können Sie auch ein Arbeitsverzeichnis und Kommandozeilen-Argumente an
<data name="AddIns.SharpRefactoring.ResolveExtensionMethod" xml:space="preserve">
<value>Erweiterungsmethode {0} auflösen</value>
</data>
<data name="AddIns.SourceAnalysis.CheckProjectWithStyleCop" xml:space="preserve">
<value>Aktuelles Projekt mit StyleCop überprüfen</value>
</data>
<data name="AddIns.SourceAnalysis.CheckWithStyleCop" xml:space="preserve">
<value>Mit StyleCop überprüfen</value>
</data>
@ -1862,6 +1865,9 @@ Wollen Sie die neue Datei zum Projekt ${CurrentProjectName} hinzufügen?</value> @@ -1862,6 +1865,9 @@ Wollen Sie die neue Datei zum Projekt ${CurrentProjectName} hinzufügen?</value>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve">
<value>Einzelschrittausführung</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping.DecompileCodeWithoutSymbols" xml:space="preserve">
<value>Code ohne Symbole dekompilieren</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode" xml:space="preserve">
<value>"Nur eigenen Code"-Feature aktivieren</value>
</data>
@ -2093,6 +2099,9 @@ Wollen Sie die neue Datei zum Projekt ${CurrentProjectName} hinzufügen?</value> @@ -2093,6 +2099,9 @@ Wollen Sie die neue Datei zum Projekt ${CurrentProjectName} hinzufügen?</value>
<data name="Dialog.Options.IDEOptions.TextEditor.General.AntialiasedFontCheckBox" xml:space="preserve">
<value>Schriften &amp;glätten</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.General.ChangeMarkerMarginCheckBox" xml:space="preserve">
<value>Änderungsmarkierungen anzeigen</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.General.CodeCompletionCheckBox" xml:space="preserve">
<value>&amp;Code Completion aktivieren</value>
</data>
@ -2174,6 +2183,9 @@ Wollen Sie die neue Datei zum Projekt ${CurrentProjectName} hinzufügen?</value> @@ -2174,6 +2183,9 @@ Wollen Sie die neue Datei zum Projekt ${CurrentProjectName} hinzufügen?</value>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.PanelName" xml:space="preserve">
<value>Markierungen und Liniale</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.ShowHiddenDefinitionsCheckBox" xml:space="preserve">
<value>Verdeckte Definitionen anzeigen (nur geschweifte Klammern)</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox" xml:space="preserve">
<value>&amp;Leerzeichen anzeigen</value>
</data>
@ -3036,6 +3048,9 @@ Bitte einen anderen Dateinamen wählen.</value> @@ -3036,6 +3048,9 @@ Bitte einen anderen Dateinamen wählen.</value>
<data name="ICSharpCode.CodeAnalysis" xml:space="preserve">
<value>Code-Analyse</value>
</data>
<data name="ICSharpCode.CodeAnalysis.CheckProjectWithFxCop" xml:space="preserve">
<value>Aktuelles Projekt mit FxCop prüfen</value>
</data>
<data name="ICSharpCode.CodeAnalysis.CheckWithFxCop" xml:space="preserve">
<value>Mit FxCop überprüfen</value>
</data>
@ -3302,6 +3317,9 @@ Bitte stellen Sie den Pfad zur NAnt-Anwendung in den SharpDevelop-Optionen ein.< @@ -3302,6 +3317,9 @@ Bitte stellen Sie den Pfad zur NAnt-Anwendung in den SharpDevelop-Optionen ein.<
<data name="ICSharpCode.NAntAddIn.StopNAntMenuLabel" xml:space="preserve">
<value>NAnt an&amp;halten</value>
</data>
<data name="ICSharpCode.NoStartupProject" xml:space="preserve">
<value>Es ist kein Startprojekt zum Debuggen vorhanden.</value>
</data>
<data name="ICSharpCode.NUnitPad.NUnitPadContent.PadName" xml:space="preserve">
<value>Unit-Tests</value>
</data>
@ -3365,6 +3383,9 @@ Bitte stellen Sie den Pfad zur NAnt-Anwendung in den SharpDevelop-Optionen ein.< @@ -3365,6 +3383,9 @@ Bitte stellen Sie den Pfad zur NAnt-Anwendung in den SharpDevelop-Optionen ein.<
<data name="ICSharpCode.Refactoring.NoClassOrOverridableSymbolUnderCursorError" xml:space="preserve">
<value>Das gewählte Element ist keine Klasse oder überschreibbares Mitglied, daher können keine Symbole angezeigt werden.</value>
</data>
<data name="ICSharpCode.Refactoring.NoClassUnderCursorError" xml:space="preserve">
<value>Konnte keine Typdefinition an der Einfügemarkenposition finden.</value>
</data>
<data name="ICSharpCode.RubyBinding.SendLineToRubyConsole" xml:space="preserve">
<value>Zeile an Ruby Konsole senden</value>
</data>
@ -3767,6 +3788,9 @@ wurde außerhalb der Applikation geändert. Wollen Sie die Datei neu laden?</val @@ -3767,6 +3788,9 @@ wurde außerhalb der Applikation geändert. Wollen Sie die Datei neu laden?</val
<data name="ICSharpCode.SharpDevelop.FormDesigner.LoadErrorCheckSourceCodeForErrors" xml:space="preserve">
<value>Konnte den Designer nicht laden. Prüfen Sie den Sourcecode auf Syntaxfehler und stellen Sie sicher, dass alle Referenzen verfügbar sind.</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.ReportFlushErrors" xml:space="preserve">
<value>Ein oder mehrere Fehler traten auf, beim Versuch den Designer-Inhalt zu erneuern. Ein Grund dafür könnte eine unbehandelte Ausnahme in Benutzer-/Dritthersteller-Komponenten, die auf dem Control/der Form verwendet werden, sein.</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.ToolboxProvider.CantLoadSidbarComponentLibraryWarning" xml:space="preserve">
<value>Konnte Sidebar Komponentenbibliothek nicht laden.
Keine Windows Forms Komponenten werden verfügbar sein, bitte konfigurieren Sie den Sidebar manuell.
@ -4051,6 +4075,9 @@ Grund: Der Wert zu dem zurückgesetzt werden soll ist ungültig weil sich eine a @@ -4051,6 +4075,9 @@ Grund: Der Wert zu dem zurückgesetzt werden soll ist ungültig weil sich eine a
<data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve">
<value>Lade ${Filename}...</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.CloseSolution" xml:space="preserve">
<value>Projektmappe schließen</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve">
<value>Alte Projektmappe offen halten</value>
</data>
@ -4084,6 +4111,14 @@ Grund: Der Wert zu dem zurückgesetzt werden soll ist ungültig weil sich eine a @@ -4084,6 +4111,14 @@ Grund: Der Wert zu dem zurückgesetzt werden soll ist ungültig weil sich eine a
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.Title" xml:space="preserve">
<value>Projekt-Update</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.UpdateOnLoadDueToMissingMSBuild" xml:space="preserve">
<value>Das Projekt '${ProjectName}' hat als Build-Ziel MSBuild ${OldToolsVersion}, aber diese Version ist nicht installiert.
Möchten Sie das Projekt auf MSBuild ${NewToolsVersion} upgraden?
Das Projekt kann nicht ohne Upgrade geöffnet werden.</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.UpdateToMSBuildButton" xml:space="preserve">
<value>Auf MSBuild ${NewToolsVersion} upgraden</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.UpgradeFromPreviousVersionDescription" xml:space="preserve">
<value>Diese Projektmappe wurde mit einer vorherigen Version von SharpDevelop erstellt. Sie möchten sie vielleicht aktualisieren, um neue Sprach- und Framework-Features verwenden zu können.</value>
</data>
@ -4145,6 +4180,48 @@ In "Optionen-&gt;Visueller Stil" kann die Sprachumgebung neu eingestellt werden. @@ -4145,6 +4180,48 @@ In "Optionen-&gt;Visueller Stil" kann die Sprachumgebung neu eingestellt werden.
<data name="ICSharpCode.UnitTesting.TestRunnerNotFoundMessageFormat" xml:space="preserve">
<value>Die Unit Tests können nicht ausgeführt werden. Die Datei {0} kann nicht gefunden werden.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel" xml:space="preserve">
<value>Web</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.ApplicationExists" xml:space="preserve">
<value>Applikation existiert bereits.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.CreateVirtualDir" xml:space="preserve">
<value>Applikation/Virtuelles Verzeichnis erstellen</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.DisableWebServerButton" xml:space="preserve">
<value>Web-Server Optionen deaktivieren</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.IISNotFound" xml:space="preserve">
<value>Ein lokaler IIS oder IIS Express Server wurde nicht gefunden.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoIISWP" xml:space="preserve">
<value>Der ASP.NET/IIS (Express) Worker-Prozess ({0}) wurde nicht gefunden.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve">
<value>Es wurde kein extern Programm oder URL zum Start angegeben. Bitte prüfen Sie die Webserver-Einstellungen in den Projekteigenschaften auf der Registerkarte "Web".</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve">
<value>Server-Port:</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.ProjectUrl" xml:space="preserve">
<value>Projekt URL:</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.Server" xml:space="preserve">
<value>Webserver</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.UnableToAttach" xml:space="preserve">
<value>Der Debugger konnte nicht an den Prozess angehängt werden.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.UseIISExpress" xml:space="preserve">
<value>IIS Express Webserver verwenden</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.UseLocalIIS" xml:space="preserve">
<value>Lokalen IIS Webserver verwenden</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.VirtualDirCreated" xml:space="preserve">
<value>Applikation/Virtuelles Verzeichnis wurde angelegt.</value>
</data>
<data name="ICSharpCode.WixBinding.AddCompilerExtensionsDialog.Title" xml:space="preserve">
<value>Erweiterungen hinzufügen</value>
</data>
@ -4740,6 +4817,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4740,6 +4817,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbols" xml:space="preserve">
<value>Es kann nicht zu einer Funktion ohne Debugsymbole gewechselt werden.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve">
<value>Sie können nicht zu einer Funktion ohne Debug-Symbole wechseln. Entweder kompilieren Sie sie mit Debug-Symbolen erneut oder aktivieren "Code ohne Symbole dekompilieren" in den Optionen.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Externe Methoden]</value>
</data>
@ -4749,6 +4829,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4749,6 +4829,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve">
<value>Sprache</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.Module" xml:space="preserve">
<value>Modul</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.ShowArgumentNames" xml:space="preserve">
<value>Parameternamen anzeigen</value>
</data>
@ -4758,6 +4841,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4758,6 +4841,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.ShowExternalMethods" xml:space="preserve">
<value>Externe Methoden anzeigen</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.ShowLineNumber" xml:space="preserve">
<value>Zeilennummern anzeigen</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.ShowModuleNames" xml:space="preserve">
<value>Modulnamen anzeigen</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Ask" xml:space="preserve">
<value>Nachfragen</value>
</data>
@ -4818,6 +4907,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4818,6 +4907,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.ExceptionForm.Error.CannotInterceptException" xml:space="preserve">
<value>Konnte Exception nicht abfangen. Das debuggte Programm kann nicht fortgesetzt werden.</value>
</data>
<data name="MainWindow.Windows.Debug.ExceptionForm.Error.CannotInterceptHandledException" xml:space="preserve">
<value>Die behandelte Ausnahme kann nicht abgefangen werden. Debug-Symbole sind möglicherweise nicht für den Ursprung der Ausnahme vorhanden.</value>
</data>
<data name="MainWindow.Windows.Debug.ExceptionForm.HideExceptionDetails" xml:space="preserve">
<value>Verstecke Ausnahmen-Details</value>
</data>
@ -4905,6 +4997,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4905,6 +4997,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.LocalVariables.StaticMembers" xml:space="preserve">
<value>Statische Mitglieder</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.NotDebuggingOrProcessRunning" xml:space="preserve">
<value>Debugging nicht aktiv oder der Prozess ist nicht angehalten!</value>
</data>
<data name="MainWindow.Windows.Debug.Modules" xml:space="preserve">
<value>Module</value>
</data>
@ -4953,9 +5048,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4953,9 +5048,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Threads.CannotStepNoActiveFunction" xml:space="preserve">
<value>Sie können keinen Einzelschritt ausführen, weil keine aktive Funktion ausgewählt ist.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchOnNAFrame" xml:space="preserve">
<value>Sie können nicht zu einem Thread wechseln, für den kein Frame vorhanden ist.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchWhileRunning" xml:space="preserve">
<value>Sie können nicht zwischen Threads umschalten, während der Debugger läuft.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchWithoutDecompiledCodeOptions" xml:space="preserve">
<value>You cannot switch to a thread paused at a function without debug symbols. Either recompile it with symbols or enable "Decompile code without symbols" in the options.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.Freeze" xml:space="preserve">
<value>Einfrieren</value>
</data>
@ -6163,6 +6264,9 @@ SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht @@ -6163,6 +6264,9 @@ SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht
<data name="Templates.File.EmptyFile.Name" xml:space="preserve">
<value>Leere Datei</value>
</data>
<data name="Templates.File.Exception.Description" xml:space="preserve">
<value>Erstellt eine neue Exception-Klasse.</value>
</data>
<data name="Templates.File.Exception.Name" xml:space="preserve">
<value>Ausnahme</value>
</data>
@ -6328,6 +6432,9 @@ SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht @@ -6328,6 +6432,9 @@ SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht
<data name="Templates.File.WebForm.Name" xml:space="preserve">
<value>ASP.NET Web Form</value>
</data>
<data name="Templates.File.WebHandler.Description" xml:space="preserve">
<value>Erstellt einen ASP.NET WebHandler mit Code-Datei.</value>
</data>
<data name="Templates.File.WebHandler.Name" xml:space="preserve">
<value>ASP.NET Web Handler</value>
</data>

48
data/resources/StringResources.es-mx.resx

@ -229,6 +229,15 @@ Descargue un complemento de Internet, luego haga clic en "Instalar AddIn" y sele @@ -229,6 +229,15 @@ Descargue un complemento de Internet, luego haga clic en "Instalar AddIn" y sele
<data name="AddInManager.UnknownFileFormat" xml:space="preserve">
<value>Formato de archivo desconocido:</value>
</data>
<data name="AddIns.AvalonEdit.InconsistentNewlines.Description" xml:space="preserve">
<value>Este archivo contiene finales de línea inconsistentes.</value>
</data>
<data name="AddIns.AvalonEdit.InconsistentNewlines.Header" xml:space="preserve">
<value>Finales de Línea Inconsistentes</value>
</data>
<data name="AddIns.AvalonEdit.InconsistentNewlines.Normalize" xml:space="preserve">
<value>Normalizar</value>
</data>
<data name="AddIns.AvalonEdit.SearchPanel.ErrorText" xml:space="preserve">
<value>Error:</value>
</data>
@ -262,6 +271,9 @@ Descargue un complemento de Internet, luego haga clic en "Instalar AddIn" y sele @@ -262,6 +271,9 @@ Descargue un complemento de Internet, luego haga clic en "Instalar AddIn" y sele
<data name="AddIns.HelpViewer.HelpModeLabel" xml:space="preserve">
<value>Modo de Ayuda</value>
</data>
<data name="AddIns.HelpViewer.HLMNoActiveCatalogError" xml:space="preserve">
<value>No se pudo ejecutar el Manejador de Bibliotecas de Ayuda, debido a que no se hay instalado/seleccionado un catalogo. Por favor verifique las opciones de ayuda. (vea Herramientas &gt; Opciones &gt; Herramientas &gt; Microsoft Help View).</value>
</data>
<data name="AddIns.HelpViewer.HLMNotFound" xml:space="preserve">
<value>No se encontró Help Library Manager. Por favor verifique que halla sido instalado correctamente.</value>
</data>
@ -618,6 +630,9 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea @@ -618,6 +630,9 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea
<data name="AddIns.SharpRefactoring.ResolveExtensionMethod" xml:space="preserve">
<value>Resolver método de extensión {0}</value>
</data>
<data name="AddIns.SourceAnalysis.CheckProjectWithStyleCop" xml:space="preserve">
<value>Verificar el proyecto actual con StyleCop</value>
</data>
<data name="AddIns.SourceAnalysis.CheckWithStyleCop" xml:space="preserve">
<value>Verificar con StyleCop</value>
</data>
@ -2001,15 +2016,6 @@ Ejemplo: "120", "MainClass", "Main.cs, 120".</value> @@ -2001,15 +2016,6 @@ Ejemplo: "120", "MainClass", "Main.cs, 120".</value>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Apariencia</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve">
<value>Expandir referencias de proyectos (reflect references)</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve">
<value>Opciones de Interfaz Gráfica de Sharp Develop</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve">
<value>Opciones de Interfaz Gráfica de Sharp Develop</value>
</data>
<data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Etiquetas de comentarios</value>
</data>
@ -3038,6 +3044,9 @@ También puede elegir guardar la opción en el archivo .user en lugar de en el a @@ -3038,6 +3044,9 @@ También puede elegir guardar la opción en el archivo .user en lugar de en el a
<data name="ICSharpCode.CodeAnalysis" xml:space="preserve">
<value>Análisis de Código</value>
</data>
<data name="ICSharpCode.CodeAnalysis.CheckProjectWithFxCop" xml:space="preserve">
<value>Verificar el proyecto actual con FxCop</value>
</data>
<data name="ICSharpCode.CodeAnalysis.CheckWithFxCop" xml:space="preserve">
<value>Verificar con FxCop</value>
</data>
@ -4661,6 +4670,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4661,6 +4670,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.DiscardChangesMessage" xml:space="preserve">
<value>¿Desea realmente descartar los cambios?</value>
</data>
<data name="MainWindow.Editor.Tooltip.LocalVar" xml:space="preserve">
<value>variable local</value>
</data>
<data name="MainWindow.Editor.Tooltip.Namespace" xml:space="preserve">
<value>espacio de nombres</value>
</data>
<data name="MainWindow.Editor.Tooltip.Parameter" xml:space="preserve">
<value>parámetro</value>
</data>
<data name="MainWindow.Editor.Tooltip.UnresolvedOverload" xml:space="preserve">
<value>overload de</value>
</data>
<data name="MainWindow.SaveChangesMessage" xml:space="preserve">
<value>¿Desea guardar los cambios hechos?</value>
</data>
@ -4853,6 +4874,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4853,6 +4874,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.ExceptionForm.Error.CannotInterceptException" xml:space="preserve">
<value>No se pudo interceptar la excepción. El programa depurado no puede continuar y sus propiedades no se pueden evaluar.</value>
</data>
<data name="MainWindow.Windows.Debug.ExceptionForm.Error.CannotInterceptHandledException" xml:space="preserve">
<value>No se pudo interceptar una excepción controlada. Los símbolos de depuración pueden no estar disponibles para la fuente de la excepción.</value>
</data>
<data name="MainWindow.Windows.Debug.ExceptionForm.HideExceptionDetails" xml:space="preserve">
<value>Ocultar Detalles de la Excepción</value>
</data>
@ -4979,12 +5003,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4979,12 +5003,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Modules.AddressColumn" xml:space="preserve">
<value>Dirección</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.DynamicModule" xml:space="preserve">
<value>(dinámico)</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.HasNoSymbols" xml:space="preserve">
<value>No se cargaron símbolos.</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.HasSymbols" xml:space="preserve">
<value>Símbolos cargados.</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.InMemoryModule" xml:space="preserve">
<value>(en memoria)</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.OrderColumn" xml:space="preserve">
<value>Ordenar</value>
</data>

9
data/resources/StringResources.es.resx

@ -1997,15 +1997,6 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib @@ -1997,15 +1997,6 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Apariencia</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve">
<value>Expandir referencias de proyectos (reflect references)</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve">
<value>Opciones de Interfaz Gráfica de Sharp Develop</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve">
<value>Opciones de Interfaz Gráfica de Sharp Develop</value>
</data>
<data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Etiquetas de Comentarios</value>
</data>

9
data/resources/StringResources.fr.resx

@ -2012,15 +2012,6 @@ Voulez-vous ajouter le nouveau fichier au projet ${CurrentProjectName}?</value> @@ -2012,15 +2012,6 @@ Voulez-vous ajouter le nouveau fichier au projet ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Style visuel</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve">
<value>Développer les références du projet</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve">
<value>Options de l'interface de SharpDevelop</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve">
<value>Options de l'interface de SharpDevelop</value>
</data>
<data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Balises de Commentaires</value>
</data>

9
data/resources/StringResources.it.resx

@ -2011,15 +2011,6 @@ Vuoi aggiungere il nuovo file al progetto ${CurrentProjectName}?</value> @@ -2011,15 +2011,6 @@ Vuoi aggiungere il nuovo file al progetto ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Aspetto</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve">
<value>Espandi riferimenti del progetto (rispecchia riferimenti)</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve">
<value>Opzioni interfaccia utente</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve">
<value>Opzioni interfaccia utente</value>
</data>
<data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Marcatori di Commento</value>
</data>

22
data/resources/StringResources.nl.resx

@ -1868,6 +1868,9 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value> @@ -1868,6 +1868,9 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve">
<value>Stapsgewijs</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping.DecompileCodeWithoutSymbols" xml:space="preserve">
<value>Code decompileren zonder symbolen</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode" xml:space="preserve">
<value>Stap naar 'Alleen mijn code' kenmerk</value>
</data>
@ -2018,15 +2021,6 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value> @@ -2018,15 +2021,6 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Vormgeving</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve">
<value>Project referenties uitbreiden (referenties weergeven)</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve">
<value>SharpDevelop UI opties</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve">
<value>SharpDevelop UI opties</value>
</data>
<data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Commentaar labels</value>
</data>
@ -3787,6 +3781,9 @@ DIT HEEFT GEEN INVLOED OP DE BRON CODE.</value> @@ -3787,6 +3781,9 @@ DIT HEEFT GEEN INVLOED OP DE BRON CODE.</value>
<data name="ICSharpCode.SharpDevelop.FormDesigner.LoadErrorCheckSourceCodeForErrors" xml:space="preserve">
<value>Laden van ontwerpvlak is mislukt. Ga na of de broncode syntactische fouten bevat en alle referenties beschikbaar zijn.</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.ReportFlushErrors" xml:space="preserve">
<value>Een of meer fouten traden op bij het spoelen van de designer inhoud.Dit kan te wijten zijn aan een niet-afgehandelde uitzondering in een aangepaste/thitd party component op het formulier/besturingselement.</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.ToolboxProvider.CantLoadSidbarComponentLibraryWarning" xml:space="preserve">
<value>Kan de zijkolom Component bibliotheek niet laden. Er zijn geen Windows Forms componenten beschikbaar, stel aub zijkolom handmatig in. (Rechts klikken op een zijkolom categorie -&gt; Zijkolom instellen)</value>
</data>
@ -4068,6 +4065,9 @@ Alleen letters, getallen, spatie, '.' of '_' zijn toegestaan.</value> @@ -4068,6 +4065,9 @@ Alleen letters, getallen, spatie, '.' of '_' zijn toegestaan.</value>
<data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve">
<value>Laden van ${Filename}...</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.CloseSolution" xml:space="preserve">
<value>Oplossing sluiten</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve">
<value>De oude oplossing open houden.</value>
</data>
@ -4189,7 +4189,7 @@ Ga naar 'Opties-&gt;Vormgeving' en wijzig de momentele taal ambience.</value> @@ -4189,7 +4189,7 @@ Ga naar 'Opties-&gt;Vormgeving' en wijzig de momentele taal ambience.</value>
<value>ASP.NET/IIS (Express) werker proces ({0}) werd niet gevonden.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve">
<value>Er is geen project URL of extern programma gespecificeerd. Check de Web server bij Project eigenschappen -&gt; Foutzoeken tab.</value>
<value>Er is geen extern programma of URL gespecificeerd. Controleer de web server bij Project eigenschappen - Web tab.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve">
<value>Server poort:</value>
@ -4808,7 +4808,7 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v @@ -4808,7 +4808,7 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v
<value>Overschakelen naar een functie zonder symbolen is niet mogelijk.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve">
<value>Wisselen naar een functie zonder symbolen zonder dat de gedecompileerde code opties zijn ingeschakeld.</value>
<value>Kan niet wisselen naar een functie zonder debug symbolen, tenzij hercompileren wordt uitgevoerd en de optie "Decompileer code zonder symbolen" is ingeschakeld.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Externe methodes]</value>

9
data/resources/StringResources.pt-br.resx

@ -2001,15 +2001,6 @@ Para criar/manipular um objeto ActiveX/COM, arraste uma classe contida em um Typ @@ -2001,15 +2001,6 @@ Para criar/manipular um objeto ActiveX/COM, arraste uma classe contida em um Typ
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Estilo visual</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve">
<value>Expandir referencias do projeto (refletir referencias)</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve">
<value>Opções da Interface de Usuario para o Sharp Develop</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve">
<value>Opções da Interface de Usuario para o Sharp Develop</value>
</data>
<data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Comentar Tags</value>
</data>

25
data/resources/StringResources.resx

@ -1927,6 +1927,9 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value> @@ -1927,6 +1927,9 @@ Do you want to add the new file to the project ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve">
<value>Stepping</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping.DecompileCodeWithoutSymbols" xml:space="preserve">
<value>Decompile code without symbols</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode" xml:space="preserve">
<value>Use 'Just My Code' feature for stepping</value>
</data>
@ -2086,15 +2089,6 @@ system. I don't think that it needs translation.</comment> @@ -2086,15 +2089,6 @@ system. I don't think that it needs translation.</comment>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Appearance</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.ExpandReferences" xml:space="preserve">
<value>Expand project references (reflect references)</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.GroupBoxHeader" xml:space="preserve">
<value>Sharp Develop UI options</value>
</data>
<data name="Dialog.Options.IDEOptions.SharpDevelop.GeneralUI.PanelName" xml:space="preserve">
<value>Sharp Develop UI options</value>
</data>
<data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Comment Tags</value>
</data>
@ -3963,6 +3957,10 @@ THIS DOES NOT AFFECT THE SOURCE CODE.</value> @@ -3963,6 +3957,10 @@ THIS DOES NOT AFFECT THE SOURCE CODE.</value>
<data name="ICSharpCode.SharpDevelop.FormDesigner.LoadErrorCheckSourceCodeForErrors" xml:space="preserve">
<value>Failed to load designer. Check the source code for syntax errors and check if all references are available.</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.ReportFlushErrors" xml:space="preserve">
<value>One or more errors occurred while trying to flush the designer content. This might be due to an unhandled exception in a custom/third-party component on the form/control.</value>
<comment>Message displayed when errors occur while flushing</comment>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.ToolboxProvider.CantLoadSidbarComponentLibraryWarning" xml:space="preserve">
<value>Can't load side bar component library.
No Windows Forms components will be avaiable, please configure the side bar manually.
@ -4288,6 +4286,9 @@ Only letters, digits, space, '.' or '_' are allowed.</value> @@ -4288,6 +4286,9 @@ Only letters, digits, space, '.' or '_' are allowed.</value>
<data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve">
<value>Loading ${Filename}...</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.CloseSolution" xml:space="preserve">
<value>Close solution</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve">
<value>Keep old solution open</value>
<comment>Button text to keep old solution open</comment>
@ -4418,7 +4419,7 @@ Goto 'Options-&gt;Visual Style' and change the current language ambience.</value @@ -4418,7 +4419,7 @@ Goto 'Options-&gt;Visual Style' and change the current language ambience.</value
<value>ASP.NET/IIS (Express) worker process ({0}) was not found.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve">
<value>There's no Project Url specified or external program. Check the web server at Project Properties - Debug tab.</value>
<value>There is no external program or URL specified. Check the web server at Project Properties - Web tab.</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve">
<value>Server port:</value>
@ -5081,7 +5082,7 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment> @@ -5081,7 +5082,7 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment>
<value>You cannot switch to a function without symbols.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve">
<value>You cannot switch to a function without symbols without enabling decompiled code options.</value>
<value>You cannot switch to a function without debug symbols. Either recompile it with symbols or enable "Decompile code without symbols" in the options.</value>
</data>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[External methods]</value>
@ -6827,7 +6828,7 @@ The resources files have been renamed/moved accordingly.</value> @@ -6827,7 +6828,7 @@ The resources files have been renamed/moved accordingly.</value>
<value>ASP.NET Web Form</value>
</data>
<data name="Templates.File.WebHandler.Description" xml:space="preserve">
<value>Creates a ASP.NET WebHandler with code-behind.</value>
<value>Creates an ASP.NET WebHandler with code-behind.</value>
</data>
<data name="Templates.File.WebHandler.Name" xml:space="preserve">
<value>ASP.NET Web Handler</value>

223
data/resources/StringResources.zh.resx

@ -262,9 +262,15 @@ @@ -262,9 +262,15 @@
<data name="AddIns.HelpViewer.HelpModeLabel" xml:space="preserve">
<value>帮助模式</value>
</data>
<data name="AddIns.HelpViewer.HLMNotFound" xml:space="preserve">
<value>没有找到帮助文档库管理工具,请检查是否正确安装。</value>
</data>
<data name="AddIns.HelpViewer.InstalledHelpCatalogsLabel" xml:space="preserve">
<value>帮助所在目录</value>
</data>
<data name="AddIns.HelpViewer.LaunchHelpLibraryManagerCommand" xml:space="preserve">
<value>启动帮助文档管理工具</value>
</data>
<data name="AddIns.HelpViewer.MicrosoftHelpViewerTitle" xml:space="preserve">
<value>微软帮助查看器</value>
</data>
@ -531,6 +537,12 @@ @@ -531,6 +537,12 @@
<data name="AddIns.SearchReplace.SearchProgressTitle" xml:space="preserve">
<value>查找...</value>
</data>
<data name="AddIns.SharpRefactoring.CreateProperties.AddSetterLabel" xml:space="preserve">
<value>添加setter方法</value>
</data>
<data name="AddIns.SharpRefactoring.CreateProperties.Description" xml:space="preserve">
<value>选择想要创建属性的字段:</value>
</data>
<data name="AddIns.SharpRefactoring.CreateProperties.Title" xml:space="preserve">
<value>创建属性</value>
</data>
@ -601,6 +613,9 @@ @@ -601,6 +613,9 @@
<data name="AddIns.SharpRefactoring.ResolveAttribute" xml:space="preserve">
<value>处理属性: {0}</value>
</data>
<data name="AddIns.SharpRefactoring.ResolveExtensionMethod" xml:space="preserve">
<value>解析扩展方法{0}</value>
</data>
<data name="AddIns.SourceAnalysis.CheckWithStyleCop" xml:space="preserve">
<value>用FxCop检验</value>
</data>
@ -758,9 +773,15 @@ @@ -758,9 +773,15 @@
<data name="AddIns.UsageDataCollector.Title" xml:space="preserve">
<value>使用数据收集器</value>
</data>
<data name="AddIns.VBNetBinding.CodeCompletion.QuestionmarkEqualsItem.Description" xml:space="preserve">
<value>让SharpDevelop根据初始对象确定类型</value>
</data>
<data name="AddIns.XamlBinding.Menu.EditGridColumnsAndRows" xml:space="preserve">
<value>编辑网格的列和行</value>
</data>
<data name="AddIns.XamlBinding.Menu.ExtractPropertiesAsStyle" xml:space="preserve">
<value>将属性提取为类型</value>
</data>
<data name="AddIns.XamlBinding.Menu.ExtractPropertiesAsStyle.ErrorNoSelection" xml:space="preserve">
<value>没有选择有效元素!</value>
</data>
@ -864,6 +885,9 @@ @@ -864,6 +885,9 @@
<data name="ComponentInspector.ActionMenu.EventLoggingMenuItem" xml:space="preserve">
<value>事件记录(&amp;E)</value>
</data>
<data name="ComponentInspector.ActionMenu.OnDesignSurfaceMenuItem" xml:space="preserve">
<value>设计时接口</value>
</data>
<data name="ComponentInspector.ActionMenu.PasteObjectMenuItem" xml:space="preserve">
<value>粘贴对象(&amp;P)</value>
</data>
@ -879,6 +903,9 @@ @@ -879,6 +903,9 @@
<data name="ComponentInspector.ActionMenu.UnregisterTypeLibMenuItem" xml:space="preserve">
<value>取消注册TypeLib</value>
</data>
<data name="ComponentInspector.AssemblyTreeNode.Text" xml:space="preserve">
<value>已打开的程序集</value>
</data>
<data name="ComponentInspector.AttachDialog.AttachFailedMessage" xml:space="preserve">
<value>附加到进程{0}出错。</value>
</data>
@ -894,6 +921,18 @@ @@ -894,6 +921,18 @@
<data name="ComponentInspector.CastDialog.CannotFindTypeInAssembliesMessage" xml:space="preserve">
<value>在当前打开的程序集中找不到类型{0}</value>
</data>
<data name="ComponentInspector.CastDialog.CastToLabel" xml:space="preserve">
<value>转换为</value>
</data>
<data name="ComponentInspector.CastDialog.DetermineTypeOfCastFailedMessage" xml:space="preserve">
<value>确定类型转换时出现错误</value>
</data>
<data name="ComponentInspector.CastDialog.RememberCastCheckBox" xml:space="preserve">
<value>记住不同区域的强制转换?</value>
</data>
<data name="ComponentInspector.CastDialog.TypeIncompatibleMessage" xml:space="preserve">
<value>对象的类型进行转换时不兼容。</value>
</data>
<data name="ComponentInspector.ComCategoryRootTreeNode.Text" xml:space="preserve">
<value>组件类别</value>
</data>
@ -995,6 +1034,12 @@ @@ -995,6 +1034,12 @@
<data name="ComponentInspector.EventLogList.TimeColumnHeader" xml:space="preserve">
<value>时间</value>
</data>
<data name="ComponentInspector.FindDialog.AllLevelsLabel" xml:space="preserve">
<value>所有级别</value>
</data>
<data name="ComponentInspector.FindDialog.ContainsRadioButton" xml:space="preserve">
<value>包含</value>
</data>
<data name="ComponentInspector.FindDialog.FindButton" xml:space="preserve">
<value>查找</value>
</data>
@ -1010,6 +1055,9 @@ @@ -1010,6 +1055,9 @@
<data name="ComponentInspector.FindDialog.FullNameLabel" xml:space="preserve">
<value>全名</value>
</data>
<data name="ComponentInspector.FindDialog.LevelSelectOnlyDownLabel" xml:space="preserve">
<value>只向下</value>
</data>
<data name="ComponentInspector.FindDialog.LevelsLabel" xml:space="preserve">
<value>级别</value>
</data>
@ -1052,6 +1100,9 @@ @@ -1052,6 +1100,9 @@
<data name="ComponentInspector.FindDialog.StartingWithLabel" xml:space="preserve">
<value>以此打头:</value>
</data>
<data name="ComponentInspector.FindDialog.StartsWithRadioButton" xml:space="preserve">
<value>开始于</value>
</data>
<data name="ComponentInspector.FindDialog.Title" xml:space="preserve">
<value>查找</value>
</data>
@ -1286,6 +1337,9 @@ @@ -1286,6 +1337,9 @@
<data name="ComponentInspector.WaitingForAppDialog.Title" xml:space="preserve">
<value>程序正在启动请稍等</value>
</data>
<data name="CQA.MainWindow.FormTitle" xml:space="preserve">
<value>代码质量分析</value>
</data>
<data name="CSharpBinding.GenerateNewHandlerInstructions" xml:space="preserve">
<value>插入对特定方法的引用;可再按跳格键(Tab)或回车键(Enter)来添加新的方法.</value>
</data>
@ -1760,6 +1814,9 @@ @@ -1760,6 +1814,9 @@
<data name="Dialog.Options.IDEOptions.Debugging" xml:space="preserve">
<value>调试</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.PauseOnHandledExceptions" xml:space="preserve">
<value>遇到捕获的异常时暂停</value>
</data>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve">
<value>调试</value>
</data>
@ -1853,6 +1910,9 @@ @@ -1853,6 +1910,9 @@
<data name="Dialog.Options.IDEOptions.ProjectAndSolutionOptions.PanelName" xml:space="preserve">
<value>项目和解决方案</value>
</data>
<data name="Dialog.Options.IDEOptions.ProjectAndSolutionOptions.ParallelBuild" xml:space="preserve">
<value>并行编译的工程数量:</value>
</data>
<data name="Dialog.Options.IDEOptions.ProjectAndSolutionOptions.ProjectLocationLabel" xml:space="preserve">
<value>默认项目位置:</value>
</data>
@ -1940,6 +2000,9 @@ @@ -1940,6 +2000,9 @@
<data name="Dialog.Options.IDEOptions.TextEditor.Behaviour.CutCopyWholeLine" xml:space="preserve">
<value>当选择为空时剪切或复制整行</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Behaviour.EnableVirtualSpace" xml:space="preserve">
<value>启用虚拟空间</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Behaviour.HideMouseCheckBox" xml:space="preserve">
<value>文字输入时自动隐藏鼠标光标(&amp;H)</value>
</data>
@ -2030,6 +2093,12 @@ @@ -2030,6 +2093,12 @@
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.BracketMatchingStyle.BeforeCaret" xml:space="preserve">
<value>输入之前</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.CaretCheckBox" xml:space="preserve">
<value>显示光标所在行</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.EnableAnimationsCheckBox" xml:space="preserve">
<value>启用动画效果</value>
</data>
<data name="Dialog.Options.IDEOptions.TextEditor.Markers.EOLMarkersCheckBox" xml:space="preserve">
<value>显示行尾标记</value>
</data>
@ -2462,6 +2531,9 @@ @@ -2462,6 +2531,9 @@
<data name="Dialog.Refactoring.IntroduceMethod.CreateNew" xml:space="preserve">
<value>创建新类:</value>
</data>
<data name="Dialog.Refactoring.IntroduceMethod.Description" xml:space="preserve">
<value>无法直接创建此方法,因为没有此类的可用源代码。请选择用于创建此扩展方法的静态类。</value>
</data>
<data name="Dialog.Refactoring.IntroduceMethod.Title" xml:space="preserve">
<value>导入方法</value>
</data>
@ -3074,6 +3146,12 @@ @@ -3074,6 +3146,12 @@
<data name="ICSharpCode.CppBinding.ProjectOptions.Preprocessor.Includes" xml:space="preserve">
<value>头文件位置</value>
</data>
<data name="ICSharpCode.CppBinding.ProjectOptions.Preprocessor.UndefineAll" xml:space="preserve">
<value>取消所有已经定义的预处理符号的定义</value>
</data>
<data name="ICSharpCode.CppBinding.ProjectOptions.Preprocessor.Undefinitions" xml:space="preserve">
<value>取消以下预处理符号的定义</value>
</data>
<data name="ICSharpCode.CppBinding.ProjectOptions.SymbolLabel" xml:space="preserve">
<value>符号</value>
</data>
@ -3246,6 +3324,9 @@ @@ -3246,6 +3324,9 @@
<data name="ICSharpCode.Refactoring.NoClassOrOverridableSymbolUnderCursorError" xml:space="preserve">
<value>选中的对象不是类或者可重载的成员方法,因此无法显示派生属性。</value>
</data>
<data name="ICSharpCode.Refactoring.NoClassUnderCursorError" xml:space="preserve">
<value>无法找到光标所在位置的对象的类型定义。</value>
</data>
<data name="ICSharpCode.RubyBinding.SendLineToRubyConsole" xml:space="preserve">
<value>发送行到Ruby控制台</value>
</data>
@ -3602,6 +3683,12 @@ @@ -3602,6 +3683,12 @@
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.AssignmentRadioButton" xml:space="preserve">
<value>指派属性 (数量少时很快,但数量很大时可扩展性很差)</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.DefaultLocalizationModel" xml:space="preserve">
<value>默认的本地化模式</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.KeepModelCheckBox" xml:space="preserve">
<value>保持现有的本地化模式不变</value>
</data>
<data name="ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.PanelName" xml:space="preserve">
<value>Localization Model</value>
</data>
@ -3768,6 +3855,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -3768,6 +3855,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.SharpDevelop.Gui.Dialogs.ToolNotFoundDialog.Title" xml:space="preserve">
<value>未找到工具</value>
</data>
<data name="ICSharpCode.SharpDevelop.Gui.Dialogs.UserCredentialsDialog.DialogTitle" xml:space="preserve">
<value>识别接口需要帐号和密码</value>
</data>
<data name="ICSharpCode.SharpDevelop.Gui.Dialogs.UserCredentialsDialog.DomainLabel" xml:space="preserve">
<value>域名(&amp;D):</value>
</data>
@ -3798,6 +3888,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -3798,6 +3888,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.SharpDevelop.Gui.Pads.PropertyPad.ContextMenu.ShowDescription" xml:space="preserve">
<value>显示说明(&amp;S)</value>
</data>
<data name="ICSharpCode.SharpDevelop.Gui.Pads.PropertyPadResetCommand" xml:space="preserve">
<value>重置失败。原因:由于另一个属性发生变化导致重置的值可能失效。</value>
</data>
<data name="ICSharpCode.SharpDevelop.Internal.ParserService.Parsing" xml:space="preserve">
<value>解析</value>
</data>
@ -3846,6 +3939,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -3846,6 +3939,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.Culture.Description" xml:space="preserve">
<value>此引用支持的语言</value>
</data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.EmbedInteropTypes" xml:space="preserve">
<value>嵌入互操作(interop)类型</value>
</data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.EmbedInteropTypes.Description" xml:space="preserve">
<value>请指定是否将定义在引用的程序集中的COM交互类型嵌入到目标程序集中</value>
</data>
<data name="ICSharpCode.SharpDevelop.Internal.Project.ProjectReference.LocalCopy" xml:space="preserve">
<value>本地复制</value>
</data>
@ -3942,6 +4041,11 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -3942,6 +4041,11 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.Title" xml:space="preserve">
<value>项目升级</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.UpdateOnLoadDueToMissingMSBuild" xml:space="preserve">
<value>工程'${ProjectName}'要求采用MSBuild ${OldToolsVersion},但该版本并未安装。
请问是否将它升级到MSBuild ${NewToolsVersion}?
如果不升级那么此工程将无法打开。</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.UpgradeView.UpgradeFromPreviousVersionDescription" xml:space="preserve">
<value>这个解决方案是用SharpDevelop的旧版本创建的。
您需要转换为新版本的解决方案,因为它支持新语言或框架的新特性。</value>
@ -4001,6 +4105,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -4001,6 +4105,9 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.UnitTesting.TestRunnerNotFoundMessageFormat" xml:space="preserve">
<value>无法运行单元测试。找不到文件'{0}'。</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel" xml:space="preserve">
<value>网络</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.ApplicationExists" xml:space="preserve">
<value>应用程序已经存在。</value>
</data>
@ -4013,6 +4120,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -4013,6 +4120,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.WebProjectOptionsPanel.IISNotFound" xml:space="preserve">
<value>本机没有找到IIS或IIS Express。</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoIISWP" xml:space="preserve">
<value>ASP.NET/IIS(Express)的工作进程({0})没有找到。</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve">
<value>未指定工程的URL地址或外部程序。请到工程属性的“调试”选项卡中检查WEB服务器的设置</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve">
<value>服务器端口:</value>
</data>
@ -4025,6 +4138,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -4025,6 +4138,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.WebProjectOptionsPanel.UnableToAttach" xml:space="preserve">
<value>调试器无法附加到进程。</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.UseLocalIIS" xml:space="preserve">
<value>使用本地IIS服务器</value>
</data>
<data name="ICSharpCode.WebProjectOptionsPanel.VirtualDirCreated" xml:space="preserve">
<value>应用程序/虚拟目录已经创建.</value>
</data>
<data name="ICSharpCode.WixBinding.AddCompilerExtensionsDialog.Title" xml:space="preserve">
<value>添加扩展</value>
</data>
@ -4043,6 +4162,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE. @@ -4043,6 +4162,12 @@ THIS DOES NOT AFFECT THE SOURCE CODE.
<data name="ICSharpCode.WixBinding.CompilerParametersPanel.CompilerExtensionsGroupBox" xml:space="preserve">
<value>扩展</value>
</data>
<data name="ICSharpCode.WixBinding.CompilerParametersPanel.CulturesLabel" xml:space="preserve">
<value>文化(本地化类别):</value>
</data>
<data name="ICSharpCode.WixBinding.CompilerParametersPanel.SuppressIces" xml:space="preserve">
<value>禁用ICEs</value>
</data>
<data name="ICSharpCode.WixBinding.CompilerParametersPanel.TreatWarningsAsErrorsCheckBox" xml:space="preserve">
<value>将警告作为错误处理:</value>
</data>
@ -4091,6 +4216,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4091,6 +4216,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="ICSharpCode.WixBinding.PackageFilesView.AllWixFilesContainErrorsMessage" xml:space="preserve">
<value>无法找到安装文件. WiX文件中包含错误.</value>
</data>
<data name="ICSharpCode.WixBinding.PackageFilesView.NoRootDirectoryFoundMessage" xml:space="preserve">
<value>无法找到TARGETDIR(目标)文件夹或DirectoryRef(文件夹引用)元素。可能是它们在WiX文档中不存在, 或者是WiX文档不是针对WiX 3.0的并且对应用的命名空间不是"http://schemas.microsoft.com/wix/2006/wi"。</value>
</data>
<data name="ICSharpCode.WixBinding.PackageFilesView.NoWixFileFoundInProjectMessage" xml:space="preserve">
<value>在'{0}'项目中没有找到WiX文件(.wxs)</value>
</data>
@ -4490,6 +4618,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4490,6 +4618,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.DiscardChangesMessage" xml:space="preserve">
<value>您真的想放弃您所作的更改吗?</value>
</data>
<data name="MainWindow.Editor.Tooltip.LocalVar" xml:space="preserve">
<value>局部变量</value>
</data>
<data name="MainWindow.Editor.Tooltip.Namespace" xml:space="preserve">
<value>命名空间</value>
</data>
<data name="MainWindow.Editor.Tooltip.Parameter" xml:space="preserve">
<value>参数</value>
</data>
<data name="MainWindow.Editor.Tooltip.UnresolvedOverload" xml:space="preserve">
<value>重载于</value>
</data>
<data name="MainWindow.SaveChangesMessage" xml:space="preserve">
<value>要保存改动吗?</value>
</data>
@ -4616,15 +4756,24 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4616,15 +4756,24 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.ShowModuleNames" xml:space="preserve">
<value>显示模块的名称</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Ask" xml:space="preserve">
<value>请求</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Break" xml:space="preserve">
<value>中断</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Breakpoint" xml:space="preserve">
<value>断点</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.BreakpointHit" xml:space="preserve">
<value>遇到断点!</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.BreakpointHitAt" xml:space="preserve">
<value>在{1}中的第{0}行遇到断点。</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Condition" xml:space="preserve">
<value>条件</value>
</data>
<data name="MainWindow.Windows.Debug.Conditional.Breakpoints.ConditionalColumnHeader" xml:space="preserve">
<value>条件</value>
</data>
@ -4674,7 +4823,7 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4674,7 +4823,7 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<value>在{1}里的{0}: (第{2}行)</value>
</data>
<data name="MainWindow.Windows.Debug.ExceptionForm.Message" xml:space="preserve">
<value>调试器抛出异常{0}:</value>
<value>抛出了类型为{0}的异常:</value>
</data>
<data name="MainWindow.Windows.Debug.ExceptionForm.ShowExceptionDetails" xml:space="preserve">
<value>显示异常详细信息</value>
@ -4748,12 +4897,33 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4748,12 +4897,33 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.LocalVariables.StaticMembers" xml:space="preserve">
<value>静态成员</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad" xml:space="preserve">
<value>内存</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.AddressNotFound" xml:space="preserve">
<value>没有找到地址{0} !</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.ByteSize" xml:space="preserve">
<value>显示字节大小:</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.JumpTo" xml:space="preserve">
<value>跳转到地址:</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.NextAddress" xml:space="preserve">
<value>下一个虚拟地址</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.NoMappings" xml:space="preserve">
<value>没有对内存地址的映射!</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.NotDebuggingOrProcessRunning" xml:space="preserve">
<value>未调试状态或进程已经在运行!</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.PreviousAddress" xml:space="preserve">
<value>前一个虚拟地址</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.ReadingFromFormat" xml:space="preserve">
<value>从{0}读取到[1}中, 大小:{2}.</value>
</data>
<data name="MainWindow.Windows.Debug.MemoryPad.Refresh" xml:space="preserve">
<value>刷新当前地址</value>
</data>
@ -4763,12 +4933,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4763,12 +4933,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Modules.AddressColumn" xml:space="preserve">
<value>地址</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.DynamicModule" xml:space="preserve">
<value>(动态)</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.HasNoSymbols" xml:space="preserve">
<value>未加载任何符号。</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.HasSymbols" xml:space="preserve">
<value>已加载符号。</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.InMemoryModule" xml:space="preserve">
<value>(在内存中)</value>
</data>
<data name="MainWindow.Windows.Debug.Modules.OrderColumn" xml:space="preserve">
<value>排序</value>
</data>
@ -4808,6 +4984,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4808,6 +4984,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Threads.CannotStepNoActiveFunction" xml:space="preserve">
<value>由于没有选择活动的方法, 无法进行单步调试.</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchOnNAFrame" xml:space="preserve">
<value>无法切换到没有对应的上下文的线程。</value>
</data>
<data name="MainWindow.Windows.Debug.Threads.CannotSwitchWhileRunning" xml:space="preserve">
<value>调试器在运行时您不能切换线程.</value>
</data>
@ -4838,6 +5017,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -4838,6 +5017,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Threads.ThreadSwitch" xml:space="preserve">
<value>线程切换</value>
</data>
<data name="MainWindow.Windows.Debug.ToggleMethodView" xml:space="preserve">
<value>切换方法视图</value>
</data>
<data name="MainWindow.Windows.Debug.Watch" xml:space="preserve">
<value>监视</value>
</data>
@ -5156,6 +5338,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< @@ -5156,6 +5338,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="ProjectComponent.ContextMenu.GenerateDocumentation" xml:space="preserve">
<value>从XML注释中生成文档</value>
</data>
<data name="ProjectComponent.ContextMenu.GenerateDocumentation.NeedToEditBuildOptions" xml:space="preserve">
<value>您必须修改项目的生成选项才能生成XML文档文件。</value>
</data>
<data name="ProjectComponent.ContextMenu.GenerateDocumentation.ProjectNeedsToBeCompiled2" xml:space="preserve">
<value>XML文件不存在,您需要编译该项目。</value>
</data>
@ -5722,6 +5907,9 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而 @@ -5722,6 +5907,9 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="SharpReport.FieldsExplorer.ContextMenu.Columns.Remove" xml:space="preserve">
<value>移除节点</value>
</data>
<data name="SharpReport.FieldsExplorer.ContextMenu.Columns.ToggleSort" xml:space="preserve">
<value>切换排序顺序</value>
</data>
<data name="SharpReport.FieldsExplorer.ContextMenu.Section.Clear" xml:space="preserve">
<value>移除节点</value>
</data>
@ -5794,6 +5982,12 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而 @@ -5794,6 +5982,12 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="SharpReport.Toolbar.Functions.TodaysDate" xml:space="preserve">
<value>今天</value>
</data>
<data name="SharpReport.Toolbar.GroupFooter" xml:space="preserve">
<value>分组页脚</value>
</data>
<data name="SharpReport.Toolbar.GroupHeader" xml:space="preserve">
<value>分组表头</value>
</data>
<data name="SharpReport.Toolbar.Image" xml:space="preserve">
<value>图像</value>
</data>
@ -5806,6 +6000,9 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而 @@ -5806,6 +6000,9 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="SharpReport.Toolbar.Rectangle" xml:space="preserve">
<value>矩形</value>
</data>
<data name="SharpReport.Toolbar.Table" xml:space="preserve">
<value>表</value>
</data>
<data name="SharpReport.Toolbar.TextBox" xml:space="preserve">
<value>标签</value>
</data>
@ -5842,6 +6039,12 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而 @@ -5842,6 +6039,12 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="SharpReport.Wizard.BaseSettings.ReportType" xml:space="preserve">
<value>报表类型</value>
</data>
<data name="SharpReport.Wizard.Layout.Column" xml:space="preserve">
<value>选择分组列</value>
</data>
<data name="SharpReport.Wizard.Layout.Grouping" xml:space="preserve">
<value>分组</value>
</data>
<data name="SharpReport.Wizard.Layout.ListLayout" xml:space="preserve">
<value>列表布局</value>
</data>
@ -5971,6 +6174,9 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而 @@ -5971,6 +6174,9 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="Templates.File.ConfigurationElementCollection.Name" xml:space="preserve">
<value>配置元素集合</value>
</data>
<data name="Templates.File.ConfigurationSection.Description" xml:space="preserve">
<value>实现ConfigurationSection的类</value>
</data>
<data name="Templates.File.ConfigurationSection.Name" xml:space="preserve">
<value>配置部分(Configuration Section)</value>
</data>
@ -6076,6 +6282,21 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而 @@ -6076,6 +6282,21 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而
<data name="Templates.File.Resource.EmptyResourceFile.Name" xml:space="preserve">
<value>空资源文件</value>
</data>
<data name="Templates.File.SharpDevelop.AddInOptions.Description" xml:space="preserve">
<value>此类使得永久属性更易于访问.</value>
</data>
<data name="Templates.File.SharpDevelop.AddInOptions.Name" xml:space="preserve">
<value>插件选项</value>
</data>
<data name="Templates.File.SharpDevelop.MenuCommand.Name" xml:space="preserve">
<value>菜单命令</value>
</data>
<data name="Templates.File.SharpDevelop.OptionPanel.Description" xml:space="preserve">
<value>SharpDevelop选项面板</value>
</data>
<data name="Templates.File.SharpDevelop.View.Description" xml:space="preserve">
<value>SharpDevelop的视图内容(比如文本编辑顺或资源编辑器).</value>
</data>
<data name="Templates.File.SharpDevelop.View.Name" xml:space="preserve">
<value>空视图</value>
</data>

2
data/resources/languages/LanguageDefinition.xml

@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@
<!--<Languages name="Slovenian" code="sl" icon="slovenia.png" />-->
<Languages name="Spanish" code="es" icon="spain.png" />
<Languages name="Spanish (Mexico)" code="es-mx" icon="mexico.png" />
<!--<Languages name="Swedish" code="se" icon="sweden.png" />-->
<Languages name="Swedish" code="se" icon="sweden.png" />
<Languages name="Turkish" code="tr" icon="turkey.png" />
</Languages>

8
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooProject.cs

@ -131,13 +131,9 @@ namespace Grunwald.BooBinding @@ -131,13 +131,9 @@ namespace Grunwald.BooBinding
}
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
if (projectBehavior != null)
return projectBehavior;
BooProjectBehavior behavior = new BooProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
return new BooProjectBehavior(this, base.CreateDefaultBehavior());
}
}

9
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs

@ -100,6 +100,7 @@ namespace CSharpBinding @@ -100,6 +100,7 @@ namespace CSharpBinding
case Solution.SolutionVersionVS2008:
return msbuild35;
case Solution.SolutionVersionVS2010:
case Solution.SolutionVersionVS11:
return msbuild40;
default:
throw new NotSupportedException();
@ -161,13 +162,9 @@ namespace CSharpBinding @@ -161,13 +162,9 @@ namespace CSharpBinding
return new CSharpProjectContent();
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
if (projectBehavior != null)
return projectBehavior;
CSharpProjectBehavior behavior = new CSharpProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
return new CSharpProjectBehavior(this, base.CreateDefaultBehavior());
}
}

10
src/AddIns/BackendBindings/CppBinding/CppBinding/Project/CppProject.cs

@ -71,7 +71,7 @@ namespace ICSharpCode.CppBinding.Project @@ -71,7 +71,7 @@ namespace ICSharpCode.CppBinding.Project
{
// in #D every project is compiled by msbuild separately, this mean that SolutionDir will
// be equal to ProjectDir, so it has to be replaced with actual solution directory
string evaluatedSolutionDir = GetEvaluatedProperty("SolutionDir");
string evaluatedSolutionDir = GetEvaluatedProperty("SolutionDir") ?? "";
outputPath = Path.Combine(ParentSolution.Directory, outputPath.Substring(evaluatedSolutionDir.Length));
}
return FileUtility.NormalizePath(Path.Combine(outputPath, AssemblyName + GetExtension(OutputType)));
@ -181,13 +181,9 @@ namespace ICSharpCode.CppBinding.Project @@ -181,13 +181,9 @@ namespace ICSharpCode.CppBinding.Project
}
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
if (projectBehavior != null)
return projectBehavior;
CppProjectBehavior behavior = new CppProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
return new CppProjectBehavior(this, base.CreateDefaultBehavior());
}
public override ICSharpCode.NRefactory.TypeSystem.IProjectContent ProjectContent {

8
src/AddIns/BackendBindings/FSharpBinding/FSharpProject.cs

@ -37,13 +37,9 @@ namespace FSharpBinding @@ -37,13 +37,9 @@ namespace FSharpBinding
}
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
if (projectBehavior != null)
return projectBehavior;
FSharpProjectBehavior behavior = new FSharpProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
return new FSharpProjectBehavior(this, base.CreateDefaultBehavior());
}
public override ICSharpCode.NRefactory.TypeSystem.IProjectContent ProjectContent {

21
src/AddIns/BackendBindings/JavaScriptBinding/Project/Src/JavaScriptParser.cs

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
using System;
using System.IO;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Project;
@ -48,14 +49,20 @@ namespace ICSharpCode.JavaScriptBinding @@ -48,14 +49,20 @@ namespace ICSharpCode.JavaScriptBinding
public ICompilationUnit Parse(IProjectContent projectContent, string fileName, ITextBuffer fileContent)
{
var astFactory = new JavaScriptAstFactory(fileContent);
JavaScriptAst ast = astFactory.Create();
var unit = new JavaScriptCompilationUnit(projectContent, fileName);
var walker = new JavaScriptAstWalker(unit, ast);
walker.Walk();
try {
var astFactory = new JavaScriptAstFactory(fileContent);
JavaScriptAst ast = astFactory.Create();
var unit = new JavaScriptCompilationUnit(projectContent, fileName);
var walker = new JavaScriptAstWalker(unit, ast);
walker.Walk();
return unit;
} catch (Exception ex) {
LoggingService.Debug(ex.ToString());
}
return unit;
return new DefaultCompilationUnit(projectContent) { FileName = fileName };
}
public IResolver CreateResolver()

8
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonProject.cs

@ -53,13 +53,9 @@ namespace ICSharpCode.PythonBinding @@ -53,13 +53,9 @@ namespace ICSharpCode.PythonBinding
get { return GetProperty(null, null, "MainFile") != null; }
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
if (projectBehavior != null)
return projectBehavior;
PythonProjectBehavior behavior = new PythonProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
return new PythonProjectBehavior(this, base.CreateDefaultBehavior());
}
}

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/Chiron.exe

Binary file not shown.

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/DLLs/IronPython.Wpf.dll

Binary file not shown.

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/IronPython.Modules.dll

Binary file not shown.

73
src/AddIns/BackendBindings/Python/RequiredLibraries/IronPython.Modules.xml

@ -4,6 +4,79 @@ @@ -4,6 +4,79 @@
<name>IronPython.Modules</name>
</assembly>
<members>
<member name="F:IronPython.Runtime.ZipImportModule.zipimporter._search_order">
<summary>
zip_searchorder defines how we search for a module in the Zip
archive: we first search for a package __init__, then for
non-package .pyc, .pyo and .py entries. The .pyc and .pyo entries
are swapped by initzipimport() if we run in optimized mode. Also,
'/' is replaced by SEP there.
</summary>
</member>
<member name="M:IronPython.Runtime.ZipImportModule.zipimporter.GetData(System.String,IronPython.Runtime.PythonTuple)">
<summary>
Given a path to a Zip file and a toc_entry, return the (uncompressed)
data as a new reference.
</summary>
<param name="archive"></param>
<param name="toc_entry"></param>
<returns></returns>
</member>
<member name="M:IronPython.Runtime.ZipImportModule.zipimporter.GetCodeFromData(IronPython.Runtime.CodeContext,System.Boolean,System.Boolean,System.Int32,IronPython.Runtime.PythonTuple)">
<summary>
Return the code object for the module named by 'fullname' from the
Zip archive as a new reference.
</summary>
<param name="context"></param>
<param name="ispackage"></param>
<param name="isbytecode"></param>
<param name="mtime"></param>
<param name="toc_entry"></param>
<returns></returns>
</member>
<member name="M:IronPython.Runtime.ZipImportModule.zipimporter.ReadDirectory(System.String)">
<summary>
Given a path to a Zip archive, build a dict, mapping file names
(local to the archive, using SEP as a separator) to toc entries.
A toc_entry is a tuple:
(__file__, # value to use for __file__, available for all files
compress, # compression kind; 0 for uncompressed
data_size, # size of compressed data on disk
file_size, # size of decompressed data
file_offset, # offset of file header from start of archive
time, # mod time of file (in dos format)
date, # mod data of file (in dos format)
crc, # crc checksum of the data
)
Directories can be recognized by the trailing SEP in the name,
data_size and file_offset are 0.
</summary>
<param name="archive"></param>
<returns></returns>
</member>
<member name="M:IronPython.Runtime.ZipImportModule.zipimporter.MakeFilename(System.String,System.String)">
<summary>
Given a (sub)modulename, write the potential file path in the
archive (without extension) to the path buffer.
</summary>
<param name="prefix"></param>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:IronPython.Runtime.ZipImportModule.zipimporter.GetModuleInfo(IronPython.Runtime.CodeContext,System.String)">
<summary>
Determines the type of module we have (package or module, or not found).
</summary>
<param name="context"></param>
<param name="fullname"></param>
<returns></returns>
</member>
<member name="T:IronPython.Runtime.ZipImportModule.SourceStringContentProvider">
<summary>
Provides a StreamContentProvider for a stream of content backed by a file on disk.
</summary>
</member>
<member name="T:ComponentAce.Compression.Libs.ZLib.Adler32">
<summary>
This class represents adler32 checksum algorithm

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/IronPython.dll

Binary file not shown.

71
src/AddIns/BackendBindings/Python/RequiredLibraries/IronPython.xml

@ -2277,6 +2277,34 @@ @@ -2277,6 +2277,34 @@
DLR hosting APIs.
</summary>
</member>
<member name="M:IronPython.Runtime.ClrModule.Use(IronPython.Runtime.CodeContext,System.String)">
<summary>
Use(name) -> module
Attempts to load the specified module searching all languages in the loaded ScriptRuntime.
</summary>
</member>
<member name="M:IronPython.Runtime.ClrModule.Use(IronPython.Runtime.CodeContext,System.String,System.String)">
<summary>
Use(path, language) -> module
Attempts to load the specified module belonging to a specific language loaded into the
current ScriptRuntime.
</summary>
</member>
<member name="M:IronPython.Runtime.ClrModule.SetCommandDispatcher(IronPython.Runtime.CodeContext,System.Action{System.Action})">
<summary>
SetCommandDispatcher(commandDispatcher)
Sets the current command dispatcher for the Python command line.
The command dispatcher will be called with a delegate to be executed. The command dispatcher
should invoke the target delegate in the desired context.
A common use for this is to enable running all REPL commands on the UI thread while the REPL
continues to run on a non-UI thread.
</summary>
</member>
<member name="M:IronPython.Runtime.ClrModule.LoadTypeLibrary(IronPython.Runtime.CodeContext,System.Object)">
<summary>
LoadTypeLibrary(rcw) -> type lib desc
@ -2311,34 +2339,6 @@ @@ -2311,34 +2339,6 @@
Makes the type lib desc available for importing. See also LoadTypeLibrary.
</summary>
</member>
<member name="M:IronPython.Runtime.ClrModule.Use(IronPython.Runtime.CodeContext,System.String)">
<summary>
Use(name) -> module
Attempts to load the specified module searching all languages in the loaded ScriptRuntime.
</summary>
</member>
<member name="M:IronPython.Runtime.ClrModule.Use(IronPython.Runtime.CodeContext,System.String,System.String)">
<summary>
Use(path, language) -> module
Attempts to load the specified module belonging to a specific language loaded into the
current ScriptRuntime.
</summary>
</member>
<member name="M:IronPython.Runtime.ClrModule.SetCommandDispatcher(IronPython.Runtime.CodeContext,System.Action{System.Action})">
<summary>
SetCommandDispatcher(commandDispatcher)
Sets the current command dispatcher for the Python command line.
The command dispatcher will be called with a delegate to be executed. The command dispatcher
should invoke the target delegate in the desired context.
A common use for this is to enable running all REPL commands on the UI thread while the REPL
continues to run on a non-UI thread.
</summary>
</member>
<member name="M:IronPython.Runtime.ClrModule.GetClrType(System.Type)">
<summary>
Gets the CLR Type object from a given Python type object.
@ -3862,6 +3862,14 @@ @@ -3862,6 +3862,14 @@
module does not exist an exception is raised.
</summary>
</member>
<member name="M:IronPython.Hosting.Python.ImportModule(Microsoft.Scripting.Hosting.ScriptScope,System.String)">
<summary>
Imports the Python module by the given name and inserts it into the ScriptScope as that name. If the
module does not exist an exception is raised.
</summary>
<param name="scope"></param>
<param name="moduleName"></param>
</member>
<member name="M:IronPython.Hosting.Python.SetHostVariables(Microsoft.Scripting.Hosting.ScriptRuntime,System.String,System.String,System.String)">
<summary>
Sets sys.exec_prefix, sys.executable and sys.version and adds the prefix to sys.path
@ -6098,6 +6106,13 @@ @@ -6098,6 +6106,13 @@
the exit code that the program reported via SystemExit or 0.
</summary>
</member>
<member name="M:IronPython.Runtime.Operations.PythonOps.InitializeModuleEx(System.Reflection.Assembly,System.String,System.String[],System.Boolean)">
<summary>
Provides the entry point for a compiled module. The stub exe calls into InitializeModule which
does the actual work of adding references and importing the main module. Upon completion it returns
the exit code that the program reported via SystemExit or 0.
</summary>
</member>
<member name="M:IronPython.Runtime.Operations.PythonOps.RemoveName(IronPython.Runtime.CodeContext,System.String)">
<summary>
Called from generated code, helper to remove a name

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/Microsoft.Dynamic.dll

Binary file not shown.

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/Microsoft.Scripting.Metadata.dll

Binary file not shown.

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/Microsoft.Scripting.Silverlight.dll

Binary file not shown.

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/Microsoft.Scripting.dll

Binary file not shown.

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/ipy.exe

Binary file not shown.

12
src/AddIns/BackendBindings/Python/RequiredLibraries/ipy.exe.config

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- Enable mixed-mode CLRv2 assemblies. -->
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>
<runtime>
<!-- Enable loading assemblies from network shares or downloaded from the internet. -->
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>

BIN
src/AddIns/BackendBindings/Python/RequiredLibraries/ipyw.exe

Binary file not shown.

12
src/AddIns/BackendBindings/Python/RequiredLibraries/ipyw.exe.config

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- Enable mixed-mode CLRv2 assemblies. -->
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>
<runtime>
<!-- Enable loading assemblies from network shares or downloaded from the internet. -->
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>

8
src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyProject.cs

@ -49,13 +49,9 @@ namespace ICSharpCode.RubyBinding @@ -49,13 +49,9 @@ namespace ICSharpCode.RubyBinding
get { return GetProperty(null, null, "MainFile") != null; }
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
if (projectBehavior != null)
return projectBehavior;
RubyProjectBehavior behavior = new RubyProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
return new RubyProjectBehavior(this, base.CreateDefaultBehavior());
}
}

12
src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingDesignerLoader.cs

@ -10,7 +10,9 @@ using System.ComponentModel.Design.Serialization; @@ -10,7 +10,9 @@ using System.ComponentModel.Design.Serialization;
using System.Globalization;
using System.Resources;
using System.Security.Permissions;
using System.Text;
using ICSharpCode.Core;
using ICSharpCode.FormsDesigner.Services;
namespace ICSharpCode.Scripting
@ -152,5 +154,15 @@ namespace ICSharpCode.Scripting @@ -152,5 +154,15 @@ namespace ICSharpCode.Scripting
{
return null;
}
protected override void ReportFlushErrors(ICollection errors)
{
StringBuilder sb = new StringBuilder(StringParser.Parse("${res:ICSharpCode.SharpDevelop.FormDesigner.ReportFlushErrors}") + Environment.NewLine + Environment.NewLine);
foreach (var error in errors) {
sb.AppendLine(error.ToString());
sb.AppendLine();
}
MessageService.ShowError(sb.ToString());
}
}
}

8
src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs

@ -211,13 +211,9 @@ namespace ICSharpCode.VBNetBinding @@ -211,13 +211,9 @@ namespace ICSharpCode.VBNetBinding
base.GenerateCodeFromCodeDom(compileUnit, writer);
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
if (projectBehavior != null)
return projectBehavior;
VBProjectBehavior behavior = new VBProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
return new VBProjectBehavior(this, base.CreateDefaultBehavior());
}
}

8
src/AddIns/BackendBindings/WixBinding/Project/Src/Project/WixProject.cs

@ -216,13 +216,9 @@ namespace ICSharpCode.WixBinding @@ -216,13 +216,9 @@ namespace ICSharpCode.WixBinding
return new ReadOnlyCollection<WixExtensionProjectItem>(items);
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
if (projectBehavior != null)
return projectBehavior;
WixStartBehavior behavior = new WixStartBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
return new WixStartBehavior(this, base.CreateDefaultBehavior());
}
}

65
src/AddIns/Debugger/Debugger.AddIn/Options/DebuggingOptionsPanel.xaml

@ -1,42 +1,37 @@ @@ -1,42 +1,37 @@
<gui:OptionPanel x:Class="Debugger.AddIn.Options.DebuggingOptionsPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:sd="http://icsharpcode.net/sharpdevelop/core"
xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop"
xmlns:debugger="clr-namespace:ICSharpCode.SharpDevelop.Services;assembly=Debugger.AddIn"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets">
<StackPanel>
<GroupBox Margin="5" Header="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping}">
<widgets:StackPanelWithSpacing SpaceBetweenItems="5">
<CheckBox x:Name="chbEnableJustMyCode"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.EnableJustMyCode}" />
<CheckBox x:Name="chbStepOverNoSymbols"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverNoSymbols}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverNoSymbols}" />
<CheckBox x:Name="chbStepOverDebuggerAttributes"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverDebuggerAttributes}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverDebuggerAttributes}" />
<CheckBox x:Name="chbStepOverAllProperties"
Checked="ChbStepOverAllProperties_CheckedChanged"
Unchecked="ChbStepOverAllProperties_CheckedChanged"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverAllProperties}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverAllProperties}" />
<CheckBox x:Name="chbStepOverSingleLineProperties"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverSingleLineProperties}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverSingleLineProperties}" />
<CheckBox x:Name="chbStepOverFieldAccessProperties"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverFieldAccessProperties}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverFieldAccessProperties}" />
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:sd="http://icsharpcode.net/sharpdevelop/core"
xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop"
xmlns:debugger="clr-namespace:ICSharpCode.SharpDevelop.Services;assembly=Debugger.AddIn"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets">
<StackPanel>
<GroupBox Margin="5" Header="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping}">
<widgets:StackPanelWithSpacing SpaceBetweenItems="5">
<CheckBox Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.DecompileCodeWithoutSymbols}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.DecompileCodeWithoutSymbols}" />
<CheckBox x:Name="chbStepOverDebuggerAttributes"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverDebuggerAttributes}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverDebuggerAttributes}" />
<CheckBox x:Name="chbStepOverAllProperties"
Checked="ChbStepOverAllProperties_CheckedChanged"
Unchecked="ChbStepOverAllProperties_CheckedChanged"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverAllProperties}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverAllProperties}" />
<CheckBox x:Name="chbStepOverSingleLineProperties"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverSingleLineProperties}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverSingleLineProperties}" />
<CheckBox x:Name="chbStepOverFieldAccessProperties"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverFieldAccessProperties}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverFieldAccessProperties}" />
</widgets:StackPanelWithSpacing>
</GroupBox>
</GroupBox>
<GroupBox Margin="5" Header="{sd:Localize Dialog.Options.IDEOptions.Debugging.Exceptions}">
<widgets:StackPanelWithSpacing SpaceBetweenItems="5">
<CheckBox x:Name="chbPauseOnHandledExceptions"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.PauseOnHandledExceptions}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.PauseOnHandledExceptions}" />
<CheckBox x:Name="chbPauseOnHandledExceptions"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.PauseOnHandledExceptions}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.PauseOnHandledExceptions}" />
</widgets:StackPanelWithSpacing>
</GroupBox>
</StackPanel>
</StackPanel>
</gui:OptionPanel>

27
src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml.cs

@ -3,12 +3,12 @@ @@ -3,12 +3,12 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using Debugger;
using Debugger.AddIn.TreeModel;
using ICSharpCode.Core;
@ -118,7 +118,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -118,7 +118,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
if (item.Frame != null && debuggedProcess.SelectedThread != null) {
// check for options - if these options are enabled, selecting the frame should not continue
if (!item.Frame.HasSymbols && (debuggedProcess.Options.EnableJustMyCode || debuggedProcess.Options.StepOverNoSymbols)) {
if (!item.Frame.HasSymbols && !debuggedProcess.Options.DecompileCodeWithoutSymbols) {
MessageService.ShowMessage("${res:MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions}",
"${res:MainWindow.Windows.Debug.CallStack.FunctionSwitch}");
return;
@ -147,24 +147,21 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -147,24 +147,21 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
return;
}
List<CallStackItem> items = new List<CallStackItem>();
var items = new ObservableCollection<CallStackItem>();
using(new PrintTimes("Callstack refresh")) {
bool showExternalMethods = DebuggingOptions.Instance.ShowExternalMethods;
bool lastItemIsExternalMethod = false;
bool previousItemIsExternalMethod = false;
foreach (StackFrame frame in debuggedProcess.SelectedThread.GetCallstack(100)) {
StackFrame f = frame;
debuggedProcess.EnqueueWork(
debuggedProcess.EnqueueForEach(
Dispatcher,
delegate {
items.AddIfNotNull(CreateItem(f, showExternalMethods, ref lastItemIsExternalMethod));
});
}
debuggedProcess.SelectedThread.GetCallstack(100),
f => items.AddIfNotNull(CreateItem(f, showExternalMethods, ref previousItemIsExternalMethod))
);
}
view.ItemsSource = items;
}
CallStackItem CreateItem(StackFrame frame, bool showExternalMethods, ref bool lastItemIsExternalMethod)
CallStackItem CreateItem(StackFrame frame, bool showExternalMethods, ref bool previousItemIsExternalMethod)
{
CallStackItem item;
@ -187,16 +184,16 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -187,16 +184,16 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
item = new CallStackItem() {
Name = GetFullName(frame), Language = "", Line = lineNumber, ModuleName = moduleName
};
lastItemIsExternalMethod = false;
previousItemIsExternalMethod = false;
item.Frame = frame;
} else {
// Show [External methods] in the list
if (lastItemIsExternalMethod) return null;
if (previousItemIsExternalMethod) return null;
item = new CallStackItem() {
Name = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ExternalMethods"),
Language = ""
};
lastItemIsExternalMethod = true;
previousItemIsExternalMethod = true;
}
return item;

8
src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml.cs

@ -60,8 +60,10 @@ namespace Debugger.AddIn.Pads.Controls @@ -60,8 +60,10 @@ namespace Debugger.AddIn.Pads.Controls
}
if (e.Key == Key.Enter || e.Key == Key.Escape) {
myList.UnselectAll();
LocalVarPad.Instance.InvalidatePad();
WatchPad.Instance.InvalidatePad();
if (LocalVarPad.Instance != null)
LocalVarPad.Instance.InvalidatePad();
if (WatchPad.Instance != null)
WatchPad.Instance.InvalidatePad();
}
}
@ -74,7 +76,7 @@ namespace Debugger.AddIn.Pads.Controls @@ -74,7 +76,7 @@ namespace Debugger.AddIn.Pads.Controls
SelectedNode.Node.Name = cell.CommandText;
myList.UnselectAll();
if (WatchType == WatchListType.Watch) {
if (WatchType == WatchListType.Watch && WatchPad.Instance != null) {
WatchPad.Instance.InvalidatePad();
}
SelectedNode.IsEditing = false;

40
src/AddIns/Debugger/Debugger.AddIn/Pads/LocalVarPad.cs

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows.Threading;
using Debugger;
using Debugger.AddIn.Pads.Controls;
@ -62,29 +63,22 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -62,29 +63,22 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
return;
}
using(new PrintTimes("Local Variables refresh")) {
try {
StackFrame frame = debuggedProcess.GetCurrentExecutingFrame();
if (frame == null) return;
localVarList.WatchItems.Clear();
foreach (var n in new StackFrameNode(frame).ChildNodes) {
var node = n;
debuggedProcess.EnqueueWork(
Dispatcher.CurrentDispatcher,
delegate {
localVarList.WatchItems.Add(node.ToSharpTreeNode());
}
);
}
}
catch(AbortedBecauseDebuggeeResumedException) { }
catch(Exception ex) {
if (debuggedProcess == null || debuggedProcess.HasExited) {
// Process unexpectedly exited
} else {
MessageService.ShowException(ex);
}
LoggingService.Info("Local Variables refresh");
try {
StackFrame frame = debuggedProcess.GetCurrentExecutingFrame();
if (frame == null) return;
localVarList.WatchItems.Clear();
debuggedProcess.EnqueueForEach(
Dispatcher.CurrentDispatcher,
new StackFrameNode(frame).ChildNodes.ToList(),
n => localVarList.WatchItems.Add(n.ToSharpTreeNode())
);
} catch (Exception ex) {
if (debuggedProcess == null || debuggedProcess.HasExited) {
// Process unexpectedly exited
} else {
MessageService.ShowException(ex);
}
}
}

33
src/AddIns/Debugger/Debugger.AddIn/Pads/RunningThreadsPad.cs

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
using System;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
@ -91,33 +92,25 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -91,33 +92,25 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
return;
}
using(new PrintTimes("Threads refresh")) {
try {
foreach (var t in debuggedProcess.Threads) {
var thread = t;
debuggedProcess.EnqueueWork(Dispatcher.CurrentDispatcher, () => AddThread(thread));
}
} catch(AbortedBecauseDebuggeeResumedException) {
} catch(Exception) {
if (debuggedProcess == null || debuggedProcess.HasExited) {
// Process unexpectedly exited
} else {
throw;
}
}
}
LoggingService.Info("Threads refresh");
debuggedProcess.EnqueueForEach(
Dispatcher.CurrentDispatcher,
debuggedProcess.Threads.ToList(),
t => AddThread(t)
);
}
void RunningThreadsListItemActivate(object sender, EventArgs e)
{
if (debuggedProcess.IsPaused) {
if (debuggedProcess != null) {
if (debuggedProcess != null) {
if (debuggedProcess.IsPaused) {
ThreadModel obj = runningThreadsList.SelectedItems[0] as ThreadModel;
Thread thread = obj.Thread;
// check for options - if these options are enabled, selecting the frame should not continue
if ((thread.MostRecentStackFrame == null || !thread.MostRecentStackFrame.HasSymbols) &&
(debuggedProcess.Options.EnableJustMyCode || debuggedProcess.Options.StepOverNoSymbols)) {
!DebuggingOptions.Instance.DecompileCodeWithoutSymbols) {
MessageService.ShowMessage("${res:MainWindow.Windows.Debug.Threads.CannotSwitchWithoutDecompiledCodeOptions}",
"${res:MainWindow.Windows.Debug.Threads.ThreadSwitch}");
return;
@ -131,9 +124,9 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -131,9 +124,9 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
} else {
MessageService.ShowMessage("${res:MainWindow.Windows.Debug.Threads.CannotSwitchOnNAFrame}", "${res:MainWindow.Windows.Debug.Threads.ThreadSwitch}");
}
} else {
MessageService.ShowMessage("${res:MainWindow.Windows.Debug.Threads.CannotSwitchWhileRunning}", "${res:MainWindow.Windows.Debug.Threads.ThreadSwitch}");
}
} else {
MessageService.ShowMessage("${res:MainWindow.Windows.Debug.Threads.CannotSwitchWhileRunning}", "${res:MainWindow.Windows.Debug.Threads.ThreadSwitch}");
}
}

15
src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs

@ -213,15 +213,12 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads @@ -213,15 +213,12 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
using(new PrintTimes("Watch Pad refresh")) {
var nodes = watchList.WatchItems.OfType<TreeNodeWrapper>().ToArray();
watchList.WatchItems.Clear();
foreach (var n in nodes) {
var node = n;
debuggedProcess.EnqueueWork(
Dispatcher.CurrentDispatcher,
delegate {
watchList.WatchItems.Add(UpdateNode(node));
}
);
}
debuggedProcess.EnqueueForEach(
Dispatcher.CurrentDispatcher,
nodes,
n => watchList.WatchItems.Add(UpdateNode(n))
);
}
}
}

7
src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs

@ -942,7 +942,7 @@ namespace ICSharpCode.SharpDevelop.Services @@ -942,7 +942,7 @@ namespace ICSharpCode.SharpDevelop.Services
}
// check for options - if these options are enabled, debugging decompiled code should not continue
if (debuggedProcess.Options.EnableJustMyCode || debuggedProcess.Options.StepOverNoSymbols) {
if (!debuggedProcess.Options.DecompileCodeWithoutSymbols) {
LoggingService.Info("Decompiled code debugging is disabled!");
return;
}
@ -961,13 +961,14 @@ namespace ICSharpCode.SharpDevelop.Services @@ -961,13 +961,14 @@ namespace ICSharpCode.SharpDevelop.Services
// update marker & navigate to line
NavigationService.NavigateTo(debugType.DebugModule.FullPath,
debugType.FullNameWithoutGenericArguments,
string.Empty,
IDStringProvider.GetIDString(frame.MethodInfo),
line);
} else {
// no line => do decompilation
NavigationService.NavigateTo(debugType.DebugModule.FullPath,
debugType.FullNameWithoutGenericArguments,
string.Empty);
IDStringProvider.GetIDString(frame.MethodInfo));
}
}

46
src/AddIns/Debugger/Debugger.AddIn/TreeModel/Utils.cs

@ -2,10 +2,11 @@ @@ -2,10 +2,11 @@
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using System.Windows.Forms;
using System.Windows.Threading;
using Debugger.AddIn.Pads.Controls;
using ICSharpCode.Core;
using ICSharpCode.NRefactory.Ast;
@ -40,6 +41,49 @@ namespace Debugger.AddIn.TreeModel @@ -40,6 +41,49 @@ namespace Debugger.AddIn.TreeModel
}
);
}
public static void EnqueueForEach<T>(this Process process, Dispatcher dispatcher, IList<T> items, Action<T> work)
{
DebuggeeState debuggeeStateWhenEnqueued = process.DebuggeeState;
dispatcher.BeginInvoke(
DispatcherPriority.Normal,
(Action)delegate { ProcessItems(process, dispatcher, 0, items, work, debuggeeStateWhenEnqueued); }
);
}
static void ProcessItems<T>(Process process, Dispatcher dispatcher, int startIndex, IList<T> items, Action<T> work, DebuggeeState debuggeeStateWhenEnqueued)
{
var watch = new System.Diagnostics.Stopwatch();
watch.Start();
for (int i = startIndex; i < items.Count; i++) {
int index = i;
if (process.IsPaused && debuggeeStateWhenEnqueued == process.DebuggeeState) {
try {
// Do the work, this may recursively enqueue more work
work(items[index]);
} catch (System.Exception ex) {
if (process == null || process.HasExited) {
// Process unexpectedly exited - silently ignore
} else {
MessageService.ShowException(ex);
}
break;
}
}
// if we are too slow move to background
if (watch.ElapsedMilliseconds > 100) {
dispatcher.BeginInvoke(
DispatcherPriority.Background,
(Action)delegate { ProcessItems(process, dispatcher, index, items, work, debuggeeStateWhenEnqueued); }
);
break;
}
}
}
}
public class AbortedBecauseDebuggeeResumedException: System.Exception

1
src/AddIns/Debugger/Debugger.Core/Debugger.Core.csproj

@ -56,6 +56,7 @@ @@ -56,6 +56,7 @@
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Compile Include="IDStringProvider.cs" />
<Compile Include="Interop\MTA2STA.cs" />
<Compile Include="ManagedCallback.cs" />
<Compile Include="ManagedCallbackProxy.cs" />

154
src/AddIns/Debugger/Debugger.Core/IDStringProvider.cs

@ -0,0 +1,154 @@ @@ -0,0 +1,154 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
namespace Debugger
{
/// <summary>
/// Description of IDStringProvider.
/// </summary>
public static class IDStringProvider
{
/// <summary>
/// Gets the ID string (C# 4.0 spec, §A.3.1) for the specified entity.
/// </summary>
public static string GetIDString(MemberInfo member)
{
StringBuilder b = new StringBuilder();
if (member is Type) {
b.Append("T:");
AppendTypeName(b, (Type)member);
} else {
if (member is FieldInfo)
b.Append("F:");
else if (member is PropertyInfo)
b.Append("P:");
else if (member is EventInfo)
b.Append("E:");
else if (member is MethodBase)
b.Append("M:");
AppendTypeName(b, member.DeclaringType);
b.Append('.');
b.Append(member.Name.Replace('.', '#'));
IList<ParameterInfo> parameters;
Type explicitReturnType = null;
if (member is PropertyInfo) {
parameters = ((PropertyInfo)member).GetIndexParameters();
} else if (member is MethodInfo) {
MethodInfo mr = (MethodInfo)member;
if (mr.IsGenericMethod) {
b.Append("``");
b.Append(mr.GetGenericArguments().Length);
}
parameters = mr.GetParameters();
if (mr.Name == "op_Implicit" || mr.Name == "op_Explicit") {
explicitReturnType = mr.ReturnType;
}
} else {
parameters = null;
}
if (parameters != null && parameters.Count > 0) {
b.Append('(');
for (int i = 0; i < parameters.Count; i++) {
if (i > 0) b.Append(',');
AppendTypeName(b, parameters[i].ParameterType);
}
b.Append(')');
}
if (explicitReturnType != null) {
b.Append('~');
AppendTypeName(b, explicitReturnType);
}
}
return b.ToString();
}
static void AppendTypeName(StringBuilder b, Type type)
{
if (type == null) {
return;
}
if (type.IsGenericType) {
AppendTypeNameWithArguments(b, type.GetElementType(), type.GetGenericArguments());
} else if (type.HasElementType) {
AppendTypeName(b, type.GetElementType());
if (type.IsArray) {
b.Append('[');
if (type.GetArrayRank() > 1) {
for (int i = 0; i < type.GetArrayRank(); i++) {
if (i > 0)
b.Append(',');
b.Append("0:");
}
}
b.Append(']');
}
if (type.IsByRef) {
b.Append('@');
}
if (type.IsPointer) {
b.Append('*');
}
} else {
if (type.IsGenericParameter) {
b.Append('`');
if (type.DeclaringMethod != null) {
b.Append('`');
}
b.Append(type.GenericParameterPosition);
} else if (type.DeclaringType != null) {
AppendTypeName(b, type.DeclaringType);
b.Append('.');
b.Append(type.Name);
} else {
b.Append(type.FullName);
}
}
}
static int AppendTypeNameWithArguments(StringBuilder b, Type type, IList<Type> genericArguments)
{
int outerTypeParameterCount = 0;
if (type.DeclaringType != null) {
Type declType = type.DeclaringType;
outerTypeParameterCount = AppendTypeNameWithArguments(b, declType, genericArguments);
b.Append('.');
} else if (!string.IsNullOrEmpty(type.Namespace)) {
b.Append(type.Namespace);
b.Append('.');
}
int localTypeParameterCount = 0;
b.Append(SplitTypeParameterCountFromReflectionName(type.Name, out localTypeParameterCount));
if (localTypeParameterCount > 0) {
int totalTypeParameterCount = outerTypeParameterCount + localTypeParameterCount;
b.Append('{');
for (int i = outerTypeParameterCount; i < totalTypeParameterCount && i < genericArguments.Count; i++) {
if (i > outerTypeParameterCount) b.Append(',');
AppendTypeName(b, genericArguments[i]);
}
b.Append('}');
}
return outerTypeParameterCount + localTypeParameterCount;
}
static string SplitTypeParameterCountFromReflectionName(string reflectionName, out int typeParameterCount)
{
int pos = reflectionName.LastIndexOf('`');
if (pos < 0) {
typeParameterCount = 0;
return reflectionName;
} else {
string typeCount = reflectionName.Substring(pos + 1);
if (int.TryParse(typeCount, out typeParameterCount))
return reflectionName.Substring(0, pos);
else
return reflectionName;
}
}
}
}

12
src/AddIns/Debugger/Debugger.Core/MetaData/DebugMethodInfo.cs

@ -187,12 +187,12 @@ namespace Debugger.MetaData @@ -187,12 +187,12 @@ namespace Debugger.MetaData
/// <inheritdoc/>
public override bool IsGenericMethod {
get { throw new NotSupportedException(); }
get { return methodDefSig.GenericParameterCount > 0; }
}
/// <inheritdoc/>
public override bool IsGenericMethodDefinition {
get { throw new NotSupportedException(); }
get { return methodDefSig.GenericParameterCount > 0; }
}
/// <inheritdoc/>
@ -294,10 +294,12 @@ namespace Debugger.MetaData @@ -294,10 +294,12 @@ namespace Debugger.MetaData
}
/// <summary> Gets value indicating whether this method should be stepped over
/// accoring to current options </summary>
/// according to current options </summary>
public bool StepOver {
get {
Options opt = this.Process.Options;
if (opt.DecompileCodeWithoutSymbols)
return false;
if (opt.StepOverNoSymbols) {
if (this.SymMethod == null) return true;
}
@ -548,7 +550,7 @@ namespace Debugger.MetaData @@ -548,7 +550,7 @@ namespace Debugger.MetaData
return new List<DebugLocalVariableInfo>();
localVariables = GetLocalVariablesInScope(this.SymMethod.GetRootScope());
if (declaringType.IsDisplayClass || declaringType.IsYieldEnumerator) {
if (declaringType.IsDisplayClass || declaringType.IsYieldEnumerator || declaringType.IsAsyncStateMachine) {
// Get display class from self
AddCapturedLocalVariables(
localVariables,
@ -593,7 +595,7 @@ namespace Debugger.MetaData @@ -593,7 +595,7 @@ namespace Debugger.MetaData
static void AddCapturedLocalVariables(List<DebugLocalVariableInfo> vars, int scopeStartOffset, int scopeEndOffset, ValueGetter getCaptureClass, DebugType captureClassType)
{
if (captureClassType.IsDisplayClass || captureClassType.IsYieldEnumerator) {
if (captureClassType.IsDisplayClass || captureClassType.IsYieldEnumerator || captureClassType.IsAsyncStateMachine) {
foreach(DebugFieldInfo fieldInfo in captureClassType.GetFields()) {
DebugFieldInfo fieldInfoCopy = fieldInfo;
if (fieldInfo.Name.StartsWith("CS$")) continue; // Ignore

17
src/AddIns/Debugger/Debugger.Core/MetaData/DebugType.cs

@ -727,6 +727,13 @@ namespace Debugger.MetaData @@ -727,6 +727,13 @@ namespace Debugger.MetaData
this.IsSubclassOf(DebugType.CreateFromType(this.AppDomain.Mscorlib, typeof(ValueType)));
}
/// <inheritdoc/>
public override bool IsEnum {
get {
return this.BaseType == DebugType.CreateFromType(this.AppDomain.Mscorlib, typeof(Enum));
}
}
/// <inheritdoc/>
public override bool IsSubclassOf(Type superType)
{
@ -818,6 +825,16 @@ namespace Debugger.MetaData @@ -818,6 +825,16 @@ namespace Debugger.MetaData
}
}
public bool IsAsyncStateMachine {
get {
if (this.IsCompilerGenerated) {
// TODO : replace this by typeof(...).FullName in later releases
return GetInterface("System.Runtime.CompilerServices.IAsyncStateMachine") != null;
}
return false;
}
}
bool IDebugMemberInfo.IsAssembly {
get { return false; }
}

3
src/AddIns/Debugger/Debugger.Core/Module.cs

@ -203,6 +203,7 @@ namespace Debugger @@ -203,6 +203,7 @@ namespace Debugger
LoadSymbolsFromDisk(process.Options.SymbolsSearchPaths);
ResetJustMyCodeStatus();
LoadSymbolsDynamic();
}
public void UnloadSymbols()
@ -335,7 +336,7 @@ namespace Debugger @@ -335,7 +336,7 @@ namespace Debugger
}
/// <summary> Sets all code as being 'my code'. The code will be gradually
/// set to not-user-code as encountered acording to stepping options </summary>
/// set to not-user-code as encountered according to stepping options </summary>
public void ResetJustMyCodeStatus()
{
uint unused = 0;

10
src/AddIns/Debugger/Debugger.Core/Options.cs

@ -31,5 +31,15 @@ namespace Debugger @@ -31,5 +31,15 @@ namespace Debugger
public string[] SymbolsSearchPaths { get; set; }
public bool SuspendOtherThreads { get; set; }
public bool PauseOnHandledExceptions { get; set; }
bool decompileCodeWithoutSymbols;
public bool DecompileCodeWithoutSymbols {
get { return decompileCodeWithoutSymbols; }
set {
decompileCodeWithoutSymbols = value;
EnableJustMyCode = !decompileCodeWithoutSymbols;
StepOverNoSymbols = !decompileCodeWithoutSymbols;
}
}
}
}

1
src/AddIns/Debugger/Debugger.Tests/Tests/DebugType_Tests.cs

@ -218,6 +218,7 @@ namespace Debugger.Tests { @@ -218,6 +218,7 @@ namespace Debugger.Tests {
}
[NUnit.Framework.Test]
[NUnit.Framework.Ignore("Broken after Siegfried added the IsGeneric implementation; can't adjust test easily as I'm on .NET 4.5")]
public void DebugType_Tests()
{
if (IsDotnet45Installed())

20
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/TextMarkerService.cs

@ -62,6 +62,9 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -62,6 +62,9 @@ namespace ICSharpCode.AvalonEdit.AddIn
#region ITextMarkerService
public ITextMarker Create(int startOffset, int length)
{
if (markers == null)
throw new InvalidOperationException("Cannot create a marker when not attached to a document");
int textLength = codeEditor.Document.TextLength;
if (startOffset < 0 || startOffset > textLength)
throw new ArgumentOutOfRangeException("startOffset", startOffset, "Value must be between 0 and " + textLength);
@ -76,20 +79,25 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -76,20 +79,25 @@ namespace ICSharpCode.AvalonEdit.AddIn
public IEnumerable<ITextMarker> GetMarkersAtOffset(int offset)
{
return markers.FindSegmentsContaining(offset);
if (markers == null)
return Enumerable.Empty<ITextMarker>();
else
return markers.FindSegmentsContaining(offset);
}
public IEnumerable<ITextMarker> TextMarkers {
get { return markers; }
get { return markers ?? Enumerable.Empty<ITextMarker>(); }
}
public void RemoveAll(Predicate<ITextMarker> predicate)
{
if (predicate == null)
throw new ArgumentNullException("predicate");
foreach (TextMarker m in markers.ToArray()) {
if (predicate(m))
Remove(m);
if (markers != null) {
foreach (TextMarker m in markers.ToArray()) {
if (predicate(m))
Remove(m);
}
}
}
@ -98,7 +106,7 @@ namespace ICSharpCode.AvalonEdit.AddIn @@ -98,7 +106,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
if (marker == null)
throw new ArgumentNullException("marker");
TextMarker m = marker as TextMarker;
if (markers.Remove(m)) {
if (markers != null && markers.Remove(m)) {
Redraw(m);
m.OnDeleted();
}

12
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/AbstractCodeDomDesignerLoader.cs

@ -8,7 +8,7 @@ using System.ComponentModel; @@ -8,7 +8,7 @@ using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using System.Text;
using ICSharpCode.Core;
using ICSharpCode.FormsDesigner.Services;
@ -161,5 +161,15 @@ namespace ICSharpCode.FormsDesigner @@ -161,5 +161,15 @@ namespace ICSharpCode.FormsDesigner
throw;
}
}
protected override void ReportFlushErrors(ICollection errors)
{
StringBuilder sb = new StringBuilder(StringParser.Parse("${res:ICSharpCode.SharpDevelop.FormDesigner.ReportFlushErrors}") + Environment.NewLine + Environment.NewLine);
foreach (var error in errors) {
sb.AppendLine(error.ToString());
sb.AppendLine();
}
MessageService.ShowError(sb.ToString());
}
}
}

12
src/AddIns/DisplayBindings/ILSpyAddIn/NavigateToDecompiledEntityService.cs

@ -66,13 +66,16 @@ namespace ICSharpCode.ILSpyAddIn @@ -66,13 +66,16 @@ namespace ICSharpCode.ILSpyAddIn
if (string.IsNullOrEmpty(typeName))
throw new ArgumentException("typeName is null or empty");
// jump to line number if the decompiled view content exits - no need for a new decompilation
// jump to line number if the decompiled view content exists - no need for a new decompilation
foreach (var viewContent in WorkbenchSingleton.Workbench.ViewContentCollection.OfType<DecompiledViewContent>()) {
if (string.Equals(viewContent.AssemblyFile, assemblyFile, StringComparison.OrdinalIgnoreCase) && typeName == viewContent.FullTypeName) {
if (updateMarker) {
viewContent.UpdateDebuggingUI();
}
viewContent.JumpToLineNumber(lineNumber);
if (lineNumber > 0)
viewContent.JumpToLineNumber(lineNumber);
else
viewContent.JumpToEntity(entityTag);
viewContent.WorkbenchWindow.SelectWindow();
return true;
}
@ -84,7 +87,10 @@ namespace ICSharpCode.ILSpyAddIn @@ -84,7 +87,10 @@ namespace ICSharpCode.ILSpyAddIn
if (updateMarker) {
decompiledView.UpdateDebuggingUI();
}
decompiledView.JumpToLineNumber(lineNumber);
if (lineNumber > 0)
decompiledView.JumpToLineNumber(lineNumber);
else
decompiledView.JumpToEntity(entityTag);
};
WorkbenchSingleton.Workbench.ShowView(decompiledView);
return true;

73
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlCodeCompletionBinding.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Editor.CodeCompletion;
@ -27,42 +27,37 @@ namespace ICSharpCode.XmlEditor @@ -27,42 +27,37 @@ namespace ICSharpCode.XmlEditor
this.schemas = schemaFileAssociations.Schemas;
}
char[] ignoredChars = new[] { '\\', '/', '"', '\'', '=', '>' };
public CodeCompletionKeyPressResult HandleKeyPress(ITextEditor editor, char ch)
{
XmlSchemaCompletion defaultSchema = schemaFileAssociations.GetSchemaCompletion(editor.FileName);
XmlCompletionItemCollection completionItems = GetCompletionItems(editor, ch, defaultSchema);
if (completionItems.HasItems) {
completionItems.Sort();
ICompletionListWindow completionWindow = editor.ShowCompletionWindow(completionItems);
if (completionWindow != null) {
SetCompletionWindowWidth(completionWindow, completionItems);
}
}
if ((ch == '<') || (ch == ' ') || (ch == '=')) {
return CodeCompletionKeyPressResult.Completed;
}
return CodeCompletionKeyPressResult.None;
if (char.IsWhiteSpace(ch) || editor.SelectionLength > 0)
return CodeCompletionKeyPressResult.None;
if (ignoredChars.Contains(ch))
return CodeCompletionKeyPressResult.None;
if (XmlParser.GetXmlIdentifierBeforeIndex(editor.Document, editor.Caret.Offset).Length > 0)
return CodeCompletionKeyPressResult.None;
editor.Document.Insert(editor.Caret.Offset, ch.ToString());
CtrlSpace(editor);
return CodeCompletionKeyPressResult.EatKey;
}
XmlCompletionItemCollection GetCompletionItems(ITextEditor editor, char characterTyped, XmlSchemaCompletion defaultSchema)
XmlCompletionItemCollection GetCompletionItems(ITextEditor editor, XmlSchemaCompletion defaultSchema)
{
string textUpToCursor = GetTextUpToCursor(editor, characterTyped);
int offset = editor.Caret.Offset;
string textUpToCursor = editor.Document.GetText(0, offset);
switch (characterTyped) {
case '=':
return schemas.GetNamespaceCompletion(textUpToCursor);
case '<':
return schemas.GetElementCompletion(textUpToCursor, defaultSchema);
case ' ':
return schemas.GetAttributeCompletion(textUpToCursor, defaultSchema);
}
return schemas.GetAttributeValueCompletion(characterTyped, textUpToCursor, defaultSchema);
}
string GetTextUpToCursor(ITextEditor editor, char characterTyped)
{
return editor.Document.GetText(0, editor.Caret.Offset) + characterTyped;
XmlCompletionItemCollection items = new XmlCompletionItemCollection();
if (XmlParser.IsInsideAttributeValue(textUpToCursor, offset)) {
items = schemas.GetNamespaceCompletion(textUpToCursor);
if (items.Count == 0)
items = schemas.GetAttributeValueCompletion(textUpToCursor, editor.Caret.Offset, defaultSchema);
} else {
items = schemas.GetAttributeCompletion(textUpToCursor, defaultSchema);
if (items.Count == 0)
items = schemas.GetElementCompletion(textUpToCursor, defaultSchema);
}
return items;
}
void SetCompletionWindowWidth(ICompletionListWindow completionWindow, XmlCompletionItemCollection completionItems)
@ -74,14 +69,18 @@ namespace ICSharpCode.XmlEditor @@ -74,14 +69,18 @@ namespace ICSharpCode.XmlEditor
}
public bool CtrlSpace(ITextEditor editor)
{
string text = editor.Document.Text;
int offset = editor.Caret.Offset;
{
XmlSchemaCompletion defaultSchema = schemaFileAssociations.GetSchemaCompletion(editor.FileName);
XmlCompletionItemCollection completionItems = schemas.GetAttributeValueCompletion(text, offset, defaultSchema);
XmlCompletionItemCollection completionItems = GetCompletionItems(editor, defaultSchema);
if (completionItems.HasItems) {
editor.ShowCompletionWindow(completionItems);
completionItems.Sort();
string identifier = XmlParser.GetXmlIdentifierBeforeIndex(editor.Document, editor.Caret.Offset);
completionItems.PreselectionLength = identifier.Length;
ICompletionListWindow completionWindow = editor.ShowCompletionWindow(completionItems);
if (completionWindow != null) {
SetCompletionWindowWidth(completionWindow, completionItems);
}
return true;
}
return false;

4
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlCompletionItem.cs

@ -65,10 +65,6 @@ namespace ICSharpCode.XmlEditor @@ -65,10 +65,6 @@ namespace ICSharpCode.XmlEditor
base.Complete(context);
switch (dataType) {
case XmlCompletionItemType.NamespaceUri:
context.Editor.Document.Insert(context.StartOffset, "\"");
context.Editor.Document.Insert(context.EndOffset + 1, "\"");
break;
case XmlCompletionItemType.XmlAttribute:
context.Editor.Document.Insert(context.EndOffset, "=\"\"");
context.Editor.Caret.Offset--;

2
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlCompletionItemCollection.cs

@ -134,7 +134,7 @@ namespace ICSharpCode.XmlEditor @@ -134,7 +134,7 @@ namespace ICSharpCode.XmlEditor
public ICompletionItem SuggestedItem {
get {
if (HasItems) {
if (HasItems && PreselectionLength == 0) {
return this[0];
}
return null;

21
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlParser.cs

@ -7,6 +7,7 @@ using System.IO; @@ -7,6 +7,7 @@ using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using ICSharpCode.SharpDevelop;
namespace ICSharpCode.XmlEditor
{
@ -19,14 +20,10 @@ namespace ICSharpCode.XmlEditor @@ -19,14 +20,10 @@ namespace ICSharpCode.XmlEditor
/// since we are interested in the complete path or tree to the
/// currently active element.
/// </remarks>
public sealed class XmlParser
public static class XmlParser
{
static readonly char[] whitespaceCharacters = new char[] {' ', '\n', '\t', '\r'};
XmlParser()
{
}
/// <summary>
/// Gets path of the xml element start tag that the specified
/// <paramref name="index"/> is currently inside.
@ -687,9 +684,21 @@ namespace ICSharpCode.XmlEditor @@ -687,9 +684,21 @@ namespace ICSharpCode.XmlEditor
return path;
}
static bool IsQuoteChar(char ch)
public static bool IsQuoteChar(char ch)
{
return (ch == '\"') || (ch == '\'');
}
public static string GetXmlIdentifierBeforeIndex(ITextBuffer document, int index)
{
if (document == null)
throw new ArgumentNullException("document");
if (index < 0 || index > document.TextLength)
throw new ArgumentOutOfRangeException("index", index, "Value must be between 0 and " + document.TextLength);
int i = index - 1;
while (i >= 0 && IsXmlNameChar(document.GetCharAt(i)) && document.GetCharAt(i) != '/')
i--;
return document.GetText(i + 1, index - i - 1);
}
}
}

3
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlSchemaCompletionCollection.cs

@ -26,7 +26,8 @@ namespace ICSharpCode.XmlEditor @@ -26,7 +26,8 @@ namespace ICSharpCode.XmlEditor
public XmlCompletionItemCollection GetNamespaceCompletion(string textUpToCursor)
{
if (XmlParser.IsNamespaceDeclaration(textUpToCursor, textUpToCursor.Length)) {
string attrName = XmlParser.GetAttributeNameAtIndex(textUpToCursor, textUpToCursor.Length);
if (attrName == "xmlns" || attrName.StartsWith("xmlns:")) {
return GetNamespaceCompletion();
}
return new XmlCompletionItemCollection();

8
src/AddIns/DisplayBindings/XmlEditor/Test/Completion/AttributeCompletionWindowTestFixture.cs

@ -40,15 +40,15 @@ namespace XmlEditor.Tests.Completion @@ -40,15 +40,15 @@ namespace XmlEditor.Tests.Completion
}
[Test]
public void KeyPressResultIsCompletedAfterPressingSpaceBar()
public void KeyPressResultIsNotCompletedAfterPressingSpaceBar()
{
Assert.AreEqual(CodeCompletionKeyPressResult.Completed, keyPressResult);
Assert.AreEqual(CodeCompletionKeyPressResult.None, keyPressResult);
}
[Test]
public void CompletionListUsedInShowCompletionWindowHasItems()
public void CompletionListUsedInShowCompletionWindowHasNoItems()
{
Assert.IsTrue(textEditor.CompletionItemsDisplayedToArray().Length > 0);
Assert.IsTrue(textEditor.CompletionItemsDisplayedToArray().Length == 0);
}
}
}

7
src/AddIns/DisplayBindings/XmlEditor/Test/Completion/CtrlSpaceAttributeValueCompletionTestFixture.cs

@ -46,13 +46,6 @@ namespace XmlEditor.Tests.Completion @@ -46,13 +46,6 @@ namespace XmlEditor.Tests.Completion
Assert.IsTrue(result);
}
[Test]
public void CtrlSpaceMethodResultIsFalseWhenCursorIsOutsideAttributeValue()
{
textEditor.Caret.Offset = 0;
Assert.IsFalse(completionBinding.CtrlSpace(textEditor));
}
[Test]
public void ShowCompletionWindowCalledWithCompletionItems()
{

2
src/AddIns/DisplayBindings/XmlEditor/Test/Completion/ElementCompletionWindowTests.cs

@ -42,7 +42,7 @@ namespace XmlEditor.Tests.Completion @@ -42,7 +42,7 @@ namespace XmlEditor.Tests.Completion
public void HandleKeyPress_LessThanKeyPressed_KeyPressResultIsCompletedAfterPressingLessThanSign()
{
keyPressResult = completionBinding.HandleKeyPress(textEditor, '<');
Assert.AreEqual(CodeCompletionKeyPressResult.Completed, keyPressResult);
Assert.AreEqual(CodeCompletionKeyPressResult.EatKey, keyPressResult);
}
[Test]

57
src/AddIns/DisplayBindings/XmlEditor/Test/Completion/NamespaceCompletionWindowTestFixture.cs

@ -1,57 +0,0 @@ @@ -1,57 +0,0 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.IO;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Editor.CodeCompletion;
using ICSharpCode.XmlEditor;
using NUnit.Framework;
using XmlEditor.Tests.Utils;
namespace XmlEditor.Tests.Completion
{
[TestFixture]
public class NamespaceCompletionWindowTestFixture : NamespaceCompletionWindowTestFixtureBase
{
[SetUp]
public void Init()
{
base.InitBase();
XmlCodeCompletionBinding completionBinding = new XmlCodeCompletionBinding(associations);
keyPressResult = completionBinding.HandleKeyPress(textEditor, '=');
}
[Test]
public void KeyPressResultIsCompletedAfterPressingEqualsSign()
{
Assert.AreEqual(CodeCompletionKeyPressResult.Completed, keyPressResult);
}
[Test]
public void CompletionWindowWidthSetToMatchLongestNamespaceTextWidth()
{
Assert.AreEqual(double.NaN, textEditor.CompletionWindowDisplayed.Width);
}
[Test]
public void ExpectedCompletionDataItems()
{
XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection();
expectedItems.Add(new XmlCompletionItem("a", XmlCompletionItemType.NamespaceUri));
expectedItems.Add(new XmlCompletionItem("b", XmlCompletionItemType.NamespaceUri));
expectedItems.Add(new XmlCompletionItem("c", XmlCompletionItemType.NamespaceUri));
Assert.AreEqual(expectedItems.ToArray(), textEditor.CompletionItemsDisplayedToArray());
}
[Test]
public void TextEditorDocumentGetTextCalledWithOffsetAndLength()
{
TextSection expectedTextSection = new TextSection(0, 8);
Assert.AreEqual(expectedTextSection, textEditor.MockDocument.GetTextSectionUsedWithGetTextMethod());
}
}
}

8
src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockDocument.cs

@ -49,9 +49,7 @@ namespace XmlEditor.Tests.Utils @@ -49,9 +49,7 @@ namespace XmlEditor.Tests.Utils
}
public int TextLength {
get {
throw new NotImplementedException();
}
get { return text.Length; }
}
public IDocumentLine GetLine(int lineNumber)
@ -78,7 +76,7 @@ namespace XmlEditor.Tests.Utils @@ -78,7 +76,7 @@ namespace XmlEditor.Tests.Utils
public void Insert(int offset, string text)
{
throw new NotImplementedException();
this.text = this.text.Insert(offset, text);
}
public void Insert(int offset, string text, AnchorMovementType defaultAnchorMovementType)
@ -138,7 +136,7 @@ namespace XmlEditor.Tests.Utils @@ -138,7 +136,7 @@ namespace XmlEditor.Tests.Utils
public char GetCharAt(int offset)
{
throw new NotImplementedException();
return text[offset];
}
public string GetText(int offset, int length)

2
src/AddIns/DisplayBindings/XmlEditor/Test/Utils/MockTextEditor.cs

@ -156,6 +156,8 @@ namespace XmlEditor.Tests.Utils @@ -156,6 +156,8 @@ namespace XmlEditor.Tests.Utils
public ICompletionItem[] CompletionItemsDisplayedToArray()
{
List<ICompletionItem> items = new List<ICompletionItem>();
if (completionItemsDisplayed == null)
return items.ToArray();
foreach (ICompletionItem item in completionItemsDisplayed.Items) {
items.Add(item);
}

1
src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj

@ -82,7 +82,6 @@ @@ -82,7 +82,6 @@
<Compile Include="Completion\CtrlSpaceNoAttributeValuesForCompletionTestFixture.cs" />
<Compile Include="Completion\ElementCompletionWindowTests.cs" />
<Compile Include="Completion\FirstCompletionListItemSelectedTestFixture.cs" />
<Compile Include="Completion\NamespaceCompletionWindowTestFixture.cs" />
<Compile Include="Completion\NamespaceCompletionWindowTestFixtureBase.cs" />
<Compile Include="Completion\NoCompletionItemsTestFixture.cs" />
<Compile Include="Completion\NullCompletionItemsReturnedTestFixture.cs" />

3
src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs

@ -105,7 +105,8 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -105,7 +105,8 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
WorkbenchSingleton.AssertMainThread();
List<SDBookmark> projectBookmarks = new List<SDBookmark>();
foreach (SDBookmark mark in bookmarks) {
if (mark.IsSaved && mark.FileName != null) {
// Only return those bookmarks which belong to the specified project.
if (mark.IsSaved && mark.FileName != null && project.IsFileInProject(mark.FileName)) {
projectBookmarks.Add(mark);
}
}

45
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/DebugOptions.xaml

@ -5,12 +5,14 @@ @@ -5,12 +5,14 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:optionpanels="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels"
xmlns:local="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels"
xmlns:projects="clr-namespace:ICSharpCode.SharpDevelop.Project"
>
<optionpanels:ProjectOptionPanel.Resources>
<local:StorageLocationConverter x:Key="converter"/>
<local:StartActionToBooleanConverter x:Key="startActionToBool"/>
</optionpanels:ProjectOptionPanel.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="130"></RowDefinition>
@ -45,40 +47,43 @@ @@ -45,40 +47,43 @@
VerticalAlignment="Center">
<optionpanels:StorageLocationPicker.Location>
<MultiBinding Converter="{StaticResource converter}">
<Binding Path="StartAction.Location"/>
<Binding Path="StartProgram.Location"/>
<Binding Path="StartURL.Location"/>
</MultiBinding>
</optionpanels:StorageLocationPicker.Location>
</optionpanels:StorageLocationPicker>
<RadioButton IsChecked="True"
<RadioButton IsChecked="{Binding StartAction.Value, Converter={StaticResource startActionToBool}, ConverterParameter={x:Static projects:StartAction.Project}}"
Grid.Column="1" VerticalAlignment="Center"
Margin="4,0,0,0" Content="Start Project">
</RadioButton>
<RadioButton x:Name="startexternal"
Grid.Row="1" VerticalAlignment="Center" Grid.Column="1" Margin="4,0,0,0"
Content="Start external program:">
Grid.Row="1" VerticalAlignment="Center" Grid.Column="1" Margin="4,0,0,0"
IsChecked="{Binding StartAction.Value, Converter={StaticResource startActionToBool}, ConverterParameter={x:Static projects:StartAction.Program}}"
Content="Start external program:">
</RadioButton>
<RadioButton x:Name="startUrl"
Grid.Row="2" VerticalAlignment="Center" Grid.Column="1" Margin="4,0,0,0"
Content="Start browser in URL:">
Grid.Row="2" VerticalAlignment="Center" Grid.Column="1" Margin="4,0,0,0"
IsChecked="{Binding StartAction.Value, Converter={StaticResource startActionToBool}, ConverterParameter={x:Static projects:StartAction.StartURL}}"
Content="Start browser in URL:">
</RadioButton>
<TextBox Grid.Row="1" Grid.Column="2" Margin="5"
IsEnabled="{Binding ElementName=startexternal, Path=IsChecked}"
Text="{Binding StartProgram.Value, UpdateSourceTrigger=PropertyChanged}">
IsEnabled="{Binding ElementName=startexternal, Path=IsChecked}"
Text="{Binding StartProgram.Value, UpdateSourceTrigger=PropertyChanged}">
</TextBox>
<Button Grid.Row="1" Grid.Column="3" Margin="5" Content="..."
IsEnabled="{Binding ElementName=startexternal, Path=IsChecked}"
Click="ExternalProgramButton_Click">
</Button>
<TextBox Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="2" Margin="5"
IsEnabled="{Binding ElementName=startUrl, Path=IsChecked}"
Text="{Binding StartURL.Value, UpdateSourceTrigger=PropertyChanged}" >
IsEnabled="{Binding ElementName=startUrl, Path=IsChecked}"
Text="{Binding StartURL.Value, UpdateSourceTrigger=PropertyChanged}" >
</TextBox>
</Grid>
@ -90,7 +95,7 @@ @@ -90,7 +95,7 @@
Grid.Column="0"
Grid.Row="1"
Grid.ColumnSpan="3"
Margin="0,5,0,0"
Margin="0,5,0,0"
HorizontalAlignment="Stretch">
<Grid>
<Grid.RowDefinitions>
@ -104,7 +109,7 @@ @@ -104,7 +109,7 @@
<ColumnDefinition Width="40"></ColumnDefinition>
</Grid.ColumnDefinitions>
<optionpanels:StorageLocationPicker
Grid.Row="1" Grid.RowSpan="2" VerticalAlignment="Center">
<optionpanels:StorageLocationPicker.Location>
@ -115,10 +120,10 @@ @@ -115,10 +120,10 @@
</optionpanels:StorageLocationPicker.Location>
</optionpanels:StorageLocationPicker>
<Label Content="Command line" Grid.Column="1" VerticalAlignment="Center" Margin="4,0,0,0" ></Label>
<Label Content="Command line" Grid.Column="1" VerticalAlignment="Center" Margin="4,0,0,0" ></Label>
<Label Content="Working directory:" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="4,0,0,0"></Label>
<TextBox Grid.Column="2" Grid.ColumnSpan="2" Margin="5"
Text="{Binding StartArguments.Value, UpdateSourceTrigger=PropertyChanged}">
</TextBox>
@ -126,8 +131,8 @@ @@ -126,8 +131,8 @@
<TextBox Grid.Row="1" Grid.Column="2" Margin="5"
Text="{Binding StartWorkingDirectory.Value, UpdateSourceTrigger=PropertyChanged}">
</TextBox>
<Button Grid.Row="1" Grid.Column="3" Margin="5"
<Button Grid.Row="1" Grid.Column="3" Margin="5"
Click="BrwoseForFolder_Click"
Content="...">
</Button>

7
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/DebugOptions.xaml.cs

@ -31,6 +31,13 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -31,6 +31,13 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
InitializeComponent();
}
public ProjectProperty<StartAction> StartAction
{
get
{
return GetProperty<StartAction>("StartAction", Project.StartAction.Project, PropertyStorageLocations.ConfigurationSpecific);
}
}
public ProjectProperty<string> StartProgram
{

50
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/StorageLocationConverter.cs

@ -1,41 +1,39 @@ @@ -1,41 +1,39 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 14.11.2011
* Time: 19:48
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections;
using System.ComponentModel;
using System.IO;
using System.Globalization;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Forms;
using ICSharpCode.Core;
using System.Windows.Data;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
public class StorageLocationConverter:System.Windows.Data.IMultiValueConverter
public class StorageLocationConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
// Console.WriteLine ("Convert");
// foreach (var element in values) {
// Console.WriteLine(element.ToString());
// }
return values[0];
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return Enumerable.Repeat(value, targetTypes.Length).ToArray();
}
}
public class StartActionToBooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (StartAction)value == (StartAction)parameter;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
var s = Array.ConvertAll<Type, Object>(targetTypes, t => value);
return s;
if ((bool)value)
return parameter;
return Binding.DoNothing;
}
}
}

10
src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonWorkbenchWindow.cs

@ -259,6 +259,10 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -259,6 +259,10 @@ namespace ICSharpCode.SharpDevelop.Gui
{
if (viewTabControl != null) {
this.viewTabControl.SelectedIndex = viewNumber;
IViewContent vc = this.ActiveViewContent;
if (vc != null && this.IsActiveContent)
SetFocus(this, () => vc.InitiallyFocusedControl as IInputElement, true);
}
}
@ -317,11 +321,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -317,11 +321,7 @@ namespace ICSharpCode.SharpDevelop.Gui
if (--index < 0)
index = this.Items.Count - 1;
}
this.SelectedIndex = index;
IViewContent vc = parentWindow.ActiveViewContent;
if (vc != null)
SetFocus(parentWindow, () => vc.InitiallyFocusedControl as IInputElement, true);
parentWindow.SwitchView(index);
e.Handled = true;
}

8
src/Main/Base/Project/Src/Project/AbstractProject.cs

@ -622,9 +622,11 @@ namespace ICSharpCode.SharpDevelop.Project @@ -622,9 +622,11 @@ namespace ICSharpCode.SharpDevelop.Project
protected virtual ProjectBehavior GetOrCreateBehavior()
{
if (projectBehavior == null)
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, CreateDefaultBehavior());
return projectBehavior;
lock (SyncRoot) {
if (projectBehavior == null)
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, CreateDefaultBehavior());
return projectBehavior;
}
}
}
}

2
src/Main/Base/Project/Src/Project/Behaviors/DotNetStartBehavior.cs

@ -338,7 +338,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -338,7 +338,7 @@ namespace ICSharpCode.SharpDevelop.Project
get {
try {
return (StartAction)Enum.Parse(typeof(StartAction), ((MSBuildBasedProject)Project).GetEvaluatedProperty("StartAction") ?? "Project");
} catch (ArgumentException) {
} catch (ArgumentException ex) {
return StartAction.Project;
}
}

3
src/Main/Base/Project/Src/Project/Behaviors/ProjectBehaviorSupportedConditionEvaluator.cs

@ -39,6 +39,9 @@ namespace ICSharpCode.SharpDevelop.Project @@ -39,6 +39,9 @@ namespace ICSharpCode.SharpDevelop.Project
string guid = ((MSBuildBasedProject)project).GetEvaluatedProperty("ProjectTypeGuids");
if (!string.IsNullOrEmpty(guid))
return guid;
} else if (project is UnknownProject || project is MissingProject) {
// don't return any GUID for projects that could not be loaded
return string.Empty;
}
return project.TypeGuid;

6
src/Main/Base/Project/Src/Project/CompilableProject.cs

@ -266,6 +266,11 @@ namespace ICSharpCode.SharpDevelop.Project @@ -266,6 +266,11 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
protected override ProjectBehavior CreateDefaultBehavior()
{
return new DotNetStartBehavior(this, base.CreateDefaultBehavior());
}
public override void Dispose()
{
@ -292,6 +297,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -292,6 +297,7 @@ namespace ICSharpCode.SharpDevelop.Project
case Solution.SolutionVersionVS2008:
return CompilerVersion.MSBuild35;
case Solution.SolutionVersionVS2010:
case Solution.SolutionVersionVS11:
return CompilerVersion.MSBuild40;
default:
throw new NotSupportedException();

14
src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs

@ -1111,22 +1111,10 @@ namespace ICSharpCode.SharpDevelop.Project @@ -1111,22 +1111,10 @@ namespace ICSharpCode.SharpDevelop.Project
// which is necessary to resolve the referenced project's OutputPath.
projectOptions.Properties["CurrentSolutionConfigurationContents"] = solutionConfigurationXml.ToString();
projectOptions.Properties["SolutionDir"] = EnsureBackslash(solution.Directory);
projectOptions.Properties["SolutionExt"] = ".sln";
projectOptions.Properties["SolutionFileName"] = Path.GetFileName(solution.FileName);
projectOptions.Properties["SolutionName"] = solution.Name;
projectOptions.Properties["SolutionPath"] = solution.FileName;
solution.AddMSBuildSolutionProperties(projectOptions.Properties);
return projectOptions;
}
static string EnsureBackslash(string path)
{
if (path.EndsWith("\\", StringComparison.Ordinal))
return path;
else
return path + "\\";
}
#endregion
#region Loading

10
src/Main/Base/Project/Src/Project/MissingProject.cs

@ -20,5 +20,15 @@ namespace ICSharpCode.SharpDevelop.Project @@ -20,5 +20,15 @@ namespace ICSharpCode.SharpDevelop.Project
return true;
}
}
protected override ProjectBehavior GetOrCreateBehavior()
{
// don't add behaviors from AddIn-Tree to MissingProject
lock (SyncRoot) {
if (projectBehavior == null)
projectBehavior = new DefaultProjectBehavior(this);
return projectBehavior;
}
}
}
}

10
src/Main/Base/Project/Src/Project/ProjectChangeWatcher.cs

@ -4,7 +4,9 @@ using System; @@ -4,7 +4,9 @@ using System;
using System.Collections.Generic;
using System.IO;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Commands;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project.Commands;
namespace ICSharpCode.SharpDevelop.Project
{
@ -120,8 +122,12 @@ namespace ICSharpCode.SharpDevelop.Project @@ -120,8 +122,12 @@ namespace ICSharpCode.SharpDevelop.Project
if (wasChangedExternally) {
wasChangedExternally = false;
if (ProjectService.OpenSolution != null && MessageService.ShowCustomDialog(MessageService.DefaultMessageBoxTitle, "${res:ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage}", 0, 1, "${res:ICSharpCode.SharpDevelop.Project.ReloadSolution}", "${res:ICSharpCode.SharpDevelop.Project.KeepOldSolution}") == 0) {
ProjectService.LoadSolution(ProjectService.OpenSolution.FileName);
if (ProjectService.OpenSolution != null) {
int result = MessageService.ShowCustomDialog(MessageService.DefaultMessageBoxTitle, "${res:ICSharpCode.SharpDevelop.Project.SolutionAlteredExternallyMessage}", 0, 1, "${res:ICSharpCode.SharpDevelop.Project.ReloadSolution}", "${res:ICSharpCode.SharpDevelop.Project.KeepOldSolution}", "${res:ICSharpCode.SharpDevelop.Project.CloseSolution}");
if (result == 0)
ProjectService.LoadSolution(ProjectService.OpenSolution.FileName);
else if (result == 2)
new CloseSolution().Run();
}
}
}

27
src/Main/Base/Project/Src/Project/Solution/Solution.cs

@ -19,6 +19,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -19,6 +19,7 @@ namespace ICSharpCode.SharpDevelop.Project
public const int SolutionVersionVS2005 = 9;
public const int SolutionVersionVS2008 = 10;
public const int SolutionVersionVS2010 = 11;
public const int SolutionVersionVS11 = 12;
/// <summary>contains &lt;GUID, (IProject/ISolutionFolder)&gt; pairs.</summary>
Dictionary<string, ISolutionFolder> guidDictionary = new Dictionary<string, ISolutionFolder>();
@ -415,6 +416,8 @@ namespace ICSharpCode.SharpDevelop.Project @@ -415,6 +416,8 @@ namespace ICSharpCode.SharpDevelop.Project
sw.WriteLine("# Visual Studio 2008");
} else if (versionNumber == SolutionVersionVS2010) {
sw.WriteLine("# Visual Studio 2010");
} else if (versionNumber == SolutionVersionVS11) {
sw.WriteLine("# Visual Studio 11");
}
sw.WriteLine("# SharpDevelop " + RevisionClass.FullVersion);
sw.Write(projectSection.ToString());
@ -487,6 +490,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -487,6 +490,7 @@ namespace ICSharpCode.SharpDevelop.Project
case "9.00":
case "10.00":
case "11.00":
case "12.00":
break;
default:
MessageService.ShowErrorFormatted("${res:SharpDevelop.Solution.UnknownSolutionVersion}", match.Result("${Version}"));
@ -1196,7 +1200,28 @@ namespace ICSharpCode.SharpDevelop.Project @@ -1196,7 +1200,28 @@ namespace ICSharpCode.SharpDevelop.Project
public void UpdateMSBuildProperties()
{
MSBuildProjectCollection.SetGlobalProperty("SolutionDir", Directory + @"\");
var dict = new Dictionary<string, string>();
AddMSBuildSolutionProperties(dict);
foreach (var pair in dict) {
MSBuildProjectCollection.SetGlobalProperty(pair.Key, pair.Value);
}
}
public void AddMSBuildSolutionProperties(IDictionary<string, string> propertyDict)
{
propertyDict["SolutionDir"] = EnsureBackslash(this.Directory);
propertyDict["SolutionExt"] = ".sln";
propertyDict["SolutionFileName"] = Path.GetFileName(this.FileName);
propertyDict["SolutionName"] = this.Name ?? string.Empty;
propertyDict["SolutionPath"] = this.FileName;
}
static string EnsureBackslash(string path)
{
if (path.EndsWith("\\", StringComparison.Ordinal))
return path;
else
return path + "\\";
}
#endregion

10
src/Main/Base/Project/Src/Project/UnknownProject.cs

@ -42,5 +42,15 @@ namespace ICSharpCode.SharpDevelop.Project @@ -42,5 +42,15 @@ namespace ICSharpCode.SharpDevelop.Project
FileName = fileName;
TypeGuid = "{00000000-0000-0000-0000-000000000000}";
}
protected override ProjectBehavior GetOrCreateBehavior()
{
// don't add behaviors from AddIn-Tree to UnknownProject
lock (SyncRoot) {
if (projectBehavior == null)
projectBehavior = new DefaultProjectBehavior(this);
return projectBehavior;
}
}
}
}

2
src/Main/Base/Test/MemberLookupHelperTests.cs

@ -183,6 +183,8 @@ namespace ICSharpCode.SharpDevelop.Tests @@ -183,6 +183,8 @@ namespace ICSharpCode.SharpDevelop.Tests
[Test]
public void GetTypeInheritanceTreeOfClassDerivingFromListOfString()
{
if (DotnetDetection.IsDotnet45Installed())
Assert.Ignore(".NET 4.5 adds IReadOnlyList");
List<string> results = new List<IReturnType>(
MemberLookupHelper.GetTypeInheritanceTree(CreateClassDerivingFromListOfString().DefaultReturnType)
).ConvertAll<string>(delegate (IReturnType rt) { return rt.DotNetName; });

2
src/Main/Base/Test/WebReferences/WebReferenceTestHelper.cs

@ -47,7 +47,7 @@ namespace ICSharpCode.SharpDevelop.Tests.WebReferences @@ -47,7 +47,7 @@ namespace ICSharpCode.SharpDevelop.Tests.WebReferences
get { return ICSharpCode.SharpDevelop.Dom.LanguageProperties.CSharp; }
}
protected override ProjectBehavior GetOrCreateBehavior()
protected override ProjectBehavior CreateDefaultBehavior()
{
return new DotNetStartBehavior(this, null);
}

Loading…
Cancel
Save