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. 7
      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. 9
      src/AddIns/Debugger/Debugger.AddIn/Options/DebuggingOptionsPanel.xaml
  36. 27
      src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.xaml.cs
  37. 4
      src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml.cs
  38. 18
      src/AddIns/Debugger/Debugger.AddIn/Pads/LocalVarPad.cs
  39. 29
      src/AddIns/Debugger/Debugger.AddIn/Pads/RunningThreadsPad.cs
  40. 11
      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. 12
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/TextMarkerService.cs
  51. 12
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/AbstractCodeDomDesignerLoader.cs
  52. 8
      src/AddIns/DisplayBindings/ILSpyAddIn/NavigateToDecompiledEntityService.cs
  53. 69
      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. 7
      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. 2
      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. 8
      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
<data name="AddIns.SharpRefactoring.ResolveExtensionMethod" xml:space="preserve"> <data name="AddIns.SharpRefactoring.ResolveExtensionMethod" xml:space="preserve">
<value>Erweiterungsmethode {0} auflösen</value> <value>Erweiterungsmethode {0} auflösen</value>
</data> </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"> <data name="AddIns.SourceAnalysis.CheckWithStyleCop" xml:space="preserve">
<value>Mit StyleCop überprüfen</value> <value>Mit StyleCop überprüfen</value>
</data> </data>
@ -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"> <data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve">
<value>Einzelschrittausführung</value> <value>Einzelschrittausführung</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode" xml:space="preserve">
<value>"Nur eigenen Code"-Feature aktivieren</value> <value>"Nur eigenen Code"-Feature aktivieren</value>
</data> </data>
@ -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"> <data name="Dialog.Options.IDEOptions.TextEditor.General.AntialiasedFontCheckBox" xml:space="preserve">
<value>Schriften &amp;glätten</value> <value>Schriften &amp;glätten</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TextEditor.General.CodeCompletionCheckBox" xml:space="preserve">
<value>&amp;Code Completion aktivieren</value> <value>&amp;Code Completion aktivieren</value>
</data> </data>
@ -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"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.PanelName" xml:space="preserve">
<value>Markierungen und Liniale</value> <value>Markierungen und Liniale</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TextEditor.Markers.SpacesCheckBox" xml:space="preserve">
<value>&amp;Leerzeichen anzeigen</value> <value>&amp;Leerzeichen anzeigen</value>
</data> </data>
@ -3036,6 +3048,9 @@ Bitte einen anderen Dateinamen wählen.</value>
<data name="ICSharpCode.CodeAnalysis" xml:space="preserve"> <data name="ICSharpCode.CodeAnalysis" xml:space="preserve">
<value>Code-Analyse</value> <value>Code-Analyse</value>
</data> </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"> <data name="ICSharpCode.CodeAnalysis.CheckWithFxCop" xml:space="preserve">
<value>Mit FxCop überprüfen</value> <value>Mit FxCop überprüfen</value>
</data> </data>
@ -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"> <data name="ICSharpCode.NAntAddIn.StopNAntMenuLabel" xml:space="preserve">
<value>NAnt an&amp;halten</value> <value>NAnt an&amp;halten</value>
</data> </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"> <data name="ICSharpCode.NUnitPad.NUnitPadContent.PadName" xml:space="preserve">
<value>Unit-Tests</value> <value>Unit-Tests</value>
</data> </data>
@ -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"> <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> <value>Das gewählte Element ist keine Klasse oder überschreibbares Mitglied, daher können keine Symbole angezeigt werden.</value>
</data> </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"> <data name="ICSharpCode.RubyBinding.SendLineToRubyConsole" xml:space="preserve">
<value>Zeile an Ruby Konsole senden</value> <value>Zeile an Ruby Konsole senden</value>
</data> </data>
@ -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"> <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> <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>
<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"> <data name="ICSharpCode.SharpDevelop.FormDesigner.ToolboxProvider.CantLoadSidbarComponentLibraryWarning" xml:space="preserve">
<value>Konnte Sidebar Komponentenbibliothek nicht laden. <value>Konnte Sidebar Komponentenbibliothek nicht laden.
Keine Windows Forms Komponenten werden verfügbar sein, bitte konfigurieren Sie den Sidebar manuell. 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
<data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve">
<value>Lade ${Filename}...</value> <value>Lade ${Filename}...</value>
</data> </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"> <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve">
<value>Alte Projektmappe offen halten</value> <value>Alte Projektmappe offen halten</value>
</data> </data>
@ -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"> <data name="ICSharpCode.SharpDevelop.Project.UpgradeView.Title" xml:space="preserve">
<value>Projekt-Update</value> <value>Projekt-Update</value>
</data> </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"> <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> <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> </data>
@ -4145,6 +4180,48 @@ In "Optionen-&gt;Visueller Stil" kann die Sprachumgebung neu eingestellt werden.
<data name="ICSharpCode.UnitTesting.TestRunnerNotFoundMessageFormat" xml:space="preserve"> <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> <value>Die Unit Tests können nicht ausgeführt werden. Die Datei {0} kann nicht gefunden werden.</value>
</data> </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"> <data name="ICSharpCode.WixBinding.AddCompilerExtensionsDialog.Title" xml:space="preserve">
<value>Erweiterungen hinzufügen</value> <value>Erweiterungen hinzufügen</value>
</data> </data>
@ -4740,6 +4817,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbols" xml:space="preserve"> <data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbols" xml:space="preserve">
<value>Es kann nicht zu einer Funktion ohne Debugsymbole gewechselt werden.</value> <value>Es kann nicht zu einer Funktion ohne Debugsymbole gewechselt werden.</value>
</data> </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"> <data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Externe Methoden]</value> <value>[Externe Methoden]</value>
</data> </data>
@ -4749,6 +4829,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve"> <data name="MainWindow.Windows.Debug.CallStack.Language" xml:space="preserve">
<value>Sprache</value> <value>Sprache</value>
</data> </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"> <data name="MainWindow.Windows.Debug.CallStack.ShowArgumentNames" xml:space="preserve">
<value>Parameternamen anzeigen</value> <value>Parameternamen anzeigen</value>
</data> </data>
@ -4758,6 +4841,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.CallStack.ShowExternalMethods" xml:space="preserve"> <data name="MainWindow.Windows.Debug.CallStack.ShowExternalMethods" xml:space="preserve">
<value>Externe Methoden anzeigen</value> <value>Externe Methoden anzeigen</value>
</data> </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"> <data name="MainWindow.Windows.Debug.Conditional.Breakpoints.Ask" xml:space="preserve">
<value>Nachfragen</value> <value>Nachfragen</value>
</data> </data>
@ -4818,6 +4907,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.ExceptionForm.Error.CannotInterceptException" xml:space="preserve"> <data name="MainWindow.Windows.Debug.ExceptionForm.Error.CannotInterceptException" xml:space="preserve">
<value>Konnte Exception nicht abfangen. Das debuggte Programm kann nicht fortgesetzt werden.</value> <value>Konnte Exception nicht abfangen. Das debuggte Programm kann nicht fortgesetzt werden.</value>
</data> </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"> <data name="MainWindow.Windows.Debug.ExceptionForm.HideExceptionDetails" xml:space="preserve">
<value>Verstecke Ausnahmen-Details</value> <value>Verstecke Ausnahmen-Details</value>
</data> </data>
@ -4905,6 +4997,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.LocalVariables.StaticMembers" xml:space="preserve"> <data name="MainWindow.Windows.Debug.LocalVariables.StaticMembers" xml:space="preserve">
<value>Statische Mitglieder</value> <value>Statische Mitglieder</value>
</data> </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"> <data name="MainWindow.Windows.Debug.Modules" xml:space="preserve">
<value>Module</value> <value>Module</value>
</data> </data>
@ -4953,9 +5048,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Threads.CannotStepNoActiveFunction" xml:space="preserve"> <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> <value>Sie können keinen Einzelschritt ausführen, weil keine aktive Funktion ausgewählt ist.</value>
</data> </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"> <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> <value>Sie können nicht zwischen Threads umschalten, während der Debugger läuft.</value>
</data> </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"> <data name="MainWindow.Windows.Debug.Threads.Freeze" xml:space="preserve">
<value>Einfrieren</value> <value>Einfrieren</value>
</data> </data>
@ -6163,6 +6264,9 @@ SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht
<data name="Templates.File.EmptyFile.Name" xml:space="preserve"> <data name="Templates.File.EmptyFile.Name" xml:space="preserve">
<value>Leere Datei</value> <value>Leere Datei</value>
</data> </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"> <data name="Templates.File.Exception.Name" xml:space="preserve">
<value>Ausnahme</value> <value>Ausnahme</value>
</data> </data>
@ -6328,6 +6432,9 @@ SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht
<data name="Templates.File.WebForm.Name" xml:space="preserve"> <data name="Templates.File.WebForm.Name" xml:space="preserve">
<value>ASP.NET Web Form</value> <value>ASP.NET Web Form</value>
</data> </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"> <data name="Templates.File.WebHandler.Name" xml:space="preserve">
<value>ASP.NET Web Handler</value> <value>ASP.NET Web Handler</value>
</data> </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
<data name="AddInManager.UnknownFileFormat" xml:space="preserve"> <data name="AddInManager.UnknownFileFormat" xml:space="preserve">
<value>Formato de archivo desconocido:</value> <value>Formato de archivo desconocido:</value>
</data> </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"> <data name="AddIns.AvalonEdit.SearchPanel.ErrorText" xml:space="preserve">
<value>Error:</value> <value>Error:</value>
</data> </data>
@ -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"> <data name="AddIns.HelpViewer.HelpModeLabel" xml:space="preserve">
<value>Modo de Ayuda</value> <value>Modo de Ayuda</value>
</data> </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"> <data name="AddIns.HelpViewer.HLMNotFound" xml:space="preserve">
<value>No se encontró Help Library Manager. Por favor verifique que halla sido instalado correctamente.</value> <value>No se encontró Help Library Manager. Por favor verifique que halla sido instalado correctamente.</value>
</data> </data>
@ -618,6 +630,9 @@ Opcionalmente puede especificar un directorio de trabajo y argumentos de línea
<data name="AddIns.SharpRefactoring.ResolveExtensionMethod" xml:space="preserve"> <data name="AddIns.SharpRefactoring.ResolveExtensionMethod" xml:space="preserve">
<value>Resolver método de extensión {0}</value> <value>Resolver método de extensión {0}</value>
</data> </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"> <data name="AddIns.SourceAnalysis.CheckWithStyleCop" xml:space="preserve">
<value>Verificar con StyleCop</value> <value>Verificar con StyleCop</value>
</data> </data>
@ -2001,15 +2016,6 @@ Ejemplo: "120", "MainClass", "Main.cs, 120".</value>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Apariencia</value> <value>Apariencia</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Etiquetas de comentarios</value> <value>Etiquetas de comentarios</value>
</data> </data>
@ -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"> <data name="ICSharpCode.CodeAnalysis" xml:space="preserve">
<value>Análisis de Código</value> <value>Análisis de Código</value>
</data> </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"> <data name="ICSharpCode.CodeAnalysis.CheckWithFxCop" xml:space="preserve">
<value>Verificar con FxCop</value> <value>Verificar con FxCop</value>
</data> </data>
@ -4661,6 +4670,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.DiscardChangesMessage" xml:space="preserve"> <data name="MainWindow.DiscardChangesMessage" xml:space="preserve">
<value>¿Desea realmente descartar los cambios?</value> <value>¿Desea realmente descartar los cambios?</value>
</data> </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"> <data name="MainWindow.SaveChangesMessage" xml:space="preserve">
<value>¿Desea guardar los cambios hechos?</value> <value>¿Desea guardar los cambios hechos?</value>
</data> </data>
@ -4853,6 +4874,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.ExceptionForm.Error.CannotInterceptException" xml:space="preserve"> <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> <value>No se pudo interceptar la excepción. El programa depurado no puede continuar y sus propiedades no se pueden evaluar.</value>
</data> </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"> <data name="MainWindow.Windows.Debug.ExceptionForm.HideExceptionDetails" xml:space="preserve">
<value>Ocultar Detalles de la Excepción</value> <value>Ocultar Detalles de la Excepción</value>
</data> </data>
@ -4979,12 +5003,18 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.Debug.Modules.AddressColumn" xml:space="preserve"> <data name="MainWindow.Windows.Debug.Modules.AddressColumn" xml:space="preserve">
<value>Dirección</value> <value>Dirección</value>
</data> </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"> <data name="MainWindow.Windows.Debug.Modules.HasNoSymbols" xml:space="preserve">
<value>No se cargaron símbolos.</value> <value>No se cargaron símbolos.</value>
</data> </data>
<data name="MainWindow.Windows.Debug.Modules.HasSymbols" xml:space="preserve"> <data name="MainWindow.Windows.Debug.Modules.HasSymbols" xml:space="preserve">
<value>Símbolos cargados.</value> <value>Símbolos cargados.</value>
</data> </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"> <data name="MainWindow.Windows.Debug.Modules.OrderColumn" xml:space="preserve">
<value>Ordenar</value> <value>Ordenar</value>
</data> </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
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Apariencia</value> <value>Apariencia</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Etiquetas de Comentarios</value> <value>Etiquetas de Comentarios</value>
</data> </data>

9
data/resources/StringResources.fr.resx

@ -2012,15 +2012,6 @@ Voulez-vous ajouter le nouveau fichier au projet ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Style visuel</value> <value>Style visuel</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Balises de Commentaires</value> <value>Balises de Commentaires</value>
</data> </data>

9
data/resources/StringResources.it.resx

@ -2011,15 +2011,6 @@ Vuoi aggiungere il nuovo file al progetto ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Aspetto</value> <value>Aspetto</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Marcatori di Commento</value> <value>Marcatori di Commento</value>
</data> </data>

22
data/resources/StringResources.nl.resx

@ -1868,6 +1868,9 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve">
<value>Stapsgewijs</value> <value>Stapsgewijs</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode" xml:space="preserve">
<value>Stap naar 'Alleen mijn code' kenmerk</value> <value>Stap naar 'Alleen mijn code' kenmerk</value>
</data> </data>
@ -2018,15 +2021,6 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}?</value>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Vormgeving</value> <value>Vormgeving</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Commentaar labels</value> <value>Commentaar labels</value>
</data> </data>
@ -3787,6 +3781,9 @@ DIT HEEFT GEEN INVLOED OP DE BRON CODE.</value>
<data name="ICSharpCode.SharpDevelop.FormDesigner.LoadErrorCheckSourceCodeForErrors" xml:space="preserve"> <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> <value>Laden van ontwerpvlak is mislukt. Ga na of de broncode syntactische fouten bevat en alle referenties beschikbaar zijn.</value>
</data> </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"> <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> <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> </data>
@ -4068,6 +4065,9 @@ Alleen letters, getallen, spatie, '.' of '_' zijn toegestaan.</value>
<data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve">
<value>Laden van ${Filename}...</value> <value>Laden van ${Filename}...</value>
</data> </data>
<data name="ICSharpCode.SharpDevelop.Project.CloseSolution" xml:space="preserve">
<value>Oplossing sluiten</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve">
<value>De oude oplossing open houden.</value> <value>De oude oplossing open houden.</value>
</data> </data>
@ -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> <value>ASP.NET/IIS (Express) werker proces ({0}) werd niet gevonden.</value>
</data> </data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve"> <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>
<data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve"> <data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve">
<value>Server poort:</value> <value>Server poort:</value>
@ -4808,7 +4808,7 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie</v
<value>Overschakelen naar een functie zonder symbolen is niet mogelijk.</value> <value>Overschakelen naar een functie zonder symbolen is niet mogelijk.</value>
</data> </data>
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve"> <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>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve"> <data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[Externe methodes]</value> <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
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Estilo visual</value> <value>Estilo visual</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Comentar Tags</value> <value>Comentar Tags</value>
</data> </data>

25
data/resources/StringResources.resx

@ -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"> <data name="Dialog.Options.IDEOptions.Debugging.Stepping" xml:space="preserve">
<value>Stepping</value> <value>Stepping</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode" xml:space="preserve">
<value>Use 'Just My Code' feature for stepping</value> <value>Use 'Just My Code' feature for stepping</value>
</data> </data>
@ -2086,15 +2089,6 @@ system. I don't think that it needs translation.</comment>
<data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve"> <data name="Dialog.Options.IDEOptions.SelectVisualStyle.PanelName" xml:space="preserve">
<value>Appearance</value> <value>Appearance</value>
</data> </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"> <data name="Dialog.Options.IDEOptions.TaskListOptions.CommentTagsGroupBox" xml:space="preserve">
<value>Comment Tags</value> <value>Comment Tags</value>
</data> </data>
@ -3963,6 +3957,10 @@ THIS DOES NOT AFFECT THE SOURCE CODE.</value>
<data name="ICSharpCode.SharpDevelop.FormDesigner.LoadErrorCheckSourceCodeForErrors" xml:space="preserve"> <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> <value>Failed to load designer. Check the source code for syntax errors and check if all references are available.</value>
</data> </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"> <data name="ICSharpCode.SharpDevelop.FormDesigner.ToolboxProvider.CantLoadSidbarComponentLibraryWarning" xml:space="preserve">
<value>Can't load side bar component library. <value>Can't load side bar component library.
No Windows Forms components will be avaiable, please configure the side bar manually. 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>
<data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.LoadingFile" xml:space="preserve">
<value>Loading ${Filename}...</value> <value>Loading ${Filename}...</value>
</data> </data>
<data name="ICSharpCode.SharpDevelop.Project.CloseSolution" xml:space="preserve">
<value>Close solution</value>
</data>
<data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve"> <data name="ICSharpCode.SharpDevelop.Project.KeepOldSolution" xml:space="preserve">
<value>Keep old solution open</value> <value>Keep old solution open</value>
<comment>Button text to keep old solution open</comment> <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
<value>ASP.NET/IIS (Express) worker process ({0}) was not found.</value> <value>ASP.NET/IIS (Express) worker process ({0}) was not found.</value>
</data> </data>
<data name="ICSharpCode.WebProjectOptionsPanel.NoProjectUrlOrProgramAction" xml:space="preserve"> <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>
<data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve"> <data name="ICSharpCode.WebProjectOptionsPanel.Port" xml:space="preserve">
<value>Server port:</value> <value>Server port:</value>
@ -5081,7 +5082,7 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment>
<value>You cannot switch to a function without symbols.</value> <value>You cannot switch to a function without symbols.</value>
</data> </data>
<data name="MainWindow.Windows.Debug.CallStack.CannotSwitchWithoutSymbolsOrDecompiledCodeOptions" xml:space="preserve"> <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>
<data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve"> <data name="MainWindow.Windows.Debug.CallStack.ExternalMethods" xml:space="preserve">
<value>[External methods]</value> <value>[External methods]</value>
@ -6827,7 +6828,7 @@ The resources files have been renamed/moved accordingly.</value>
<value>ASP.NET Web Form</value> <value>ASP.NET Web Form</value>
</data> </data>
<data name="Templates.File.WebHandler.Description" xml:space="preserve"> <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>
<data name="Templates.File.WebHandler.Name" xml:space="preserve"> <data name="Templates.File.WebHandler.Name" xml:space="preserve">
<value>ASP.NET Web Handler</value> <value>ASP.NET Web Handler</value>

223
data/resources/StringResources.zh.resx

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

2
data/resources/languages/LanguageDefinition.xml

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

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

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

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

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

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

@ -71,7 +71,7 @@ namespace ICSharpCode.CppBinding.Project
{ {
// in #D every project is compiled by msbuild separately, this mean that SolutionDir will // 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 // 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)); outputPath = Path.Combine(ParentSolution.Directory, outputPath.Substring(evaluatedSolutionDir.Length));
} }
return FileUtility.NormalizePath(Path.Combine(outputPath, AssemblyName + GetExtension(OutputType))); return FileUtility.NormalizePath(Path.Combine(outputPath, AssemblyName + GetExtension(OutputType)));
@ -181,13 +181,9 @@ namespace ICSharpCode.CppBinding.Project
} }
} }
protected override ProjectBehavior GetOrCreateBehavior() protected override ProjectBehavior CreateDefaultBehavior()
{ {
if (projectBehavior != null) return new CppProjectBehavior(this, base.CreateDefaultBehavior());
return projectBehavior;
CppProjectBehavior behavior = new CppProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
} }
public override ICSharpCode.NRefactory.TypeSystem.IProjectContent ProjectContent { public override ICSharpCode.NRefactory.TypeSystem.IProjectContent ProjectContent {

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

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

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

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

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

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

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 @@
<name>IronPython.Modules</name> <name>IronPython.Modules</name>
</assembly> </assembly>
<members> <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"> <member name="T:ComponentAce.Compression.Libs.ZLib.Adler32">
<summary> <summary>
This class represents adler32 checksum algorithm 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 @@
DLR hosting APIs. DLR hosting APIs.
</summary> </summary>
</member> </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)"> <member name="M:IronPython.Runtime.ClrModule.LoadTypeLibrary(IronPython.Runtime.CodeContext,System.Object)">
<summary> <summary>
LoadTypeLibrary(rcw) -> type lib desc LoadTypeLibrary(rcw) -> type lib desc
@ -2311,34 +2339,6 @@
Makes the type lib desc available for importing. See also LoadTypeLibrary. Makes the type lib desc available for importing. See also LoadTypeLibrary.
</summary> </summary>
</member> </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)"> <member name="M:IronPython.Runtime.ClrModule.GetClrType(System.Type)">
<summary> <summary>
Gets the CLR Type object from a given Python type object. Gets the CLR Type object from a given Python type object.
@ -3862,6 +3862,14 @@
module does not exist an exception is raised. module does not exist an exception is raised.
</summary> </summary>
</member> </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)"> <member name="M:IronPython.Hosting.Python.SetHostVariables(Microsoft.Scripting.Hosting.ScriptRuntime,System.String,System.String,System.String)">
<summary> <summary>
Sets sys.exec_prefix, sys.executable and sys.version and adds the prefix to sys.path Sets sys.exec_prefix, sys.executable and sys.version and adds the prefix to sys.path
@ -6098,6 +6106,13 @@
the exit code that the program reported via SystemExit or 0. the exit code that the program reported via SystemExit or 0.
</summary> </summary>
</member> </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)"> <member name="M:IronPython.Runtime.Operations.PythonOps.RemoveName(IronPython.Runtime.CodeContext,System.String)">
<summary> <summary>
Called from generated code, helper to remove a name 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 @@
<?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 @@
<?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
get { return GetProperty(null, null, "MainFile") != null; } get { return GetProperty(null, null, "MainFile") != null; }
} }
protected override ProjectBehavior GetOrCreateBehavior() protected override ProjectBehavior CreateDefaultBehavior()
{ {
if (projectBehavior != null) return new RubyProjectBehavior(this, base.CreateDefaultBehavior());
return projectBehavior;
RubyProjectBehavior behavior = new RubyProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
} }
} }

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

@ -10,7 +10,9 @@ using System.ComponentModel.Design.Serialization;
using System.Globalization; using System.Globalization;
using System.Resources; using System.Resources;
using System.Security.Permissions; using System.Security.Permissions;
using System.Text;
using ICSharpCode.Core;
using ICSharpCode.FormsDesigner.Services; using ICSharpCode.FormsDesigner.Services;
namespace ICSharpCode.Scripting namespace ICSharpCode.Scripting
@ -152,5 +154,15 @@ namespace ICSharpCode.Scripting
{ {
return null; 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
base.GenerateCodeFromCodeDom(compileUnit, writer); base.GenerateCodeFromCodeDom(compileUnit, writer);
} }
protected override ProjectBehavior GetOrCreateBehavior() protected override ProjectBehavior CreateDefaultBehavior()
{ {
if (projectBehavior != null) return new VBProjectBehavior(this, base.CreateDefaultBehavior());
return projectBehavior;
VBProjectBehavior behavior = new VBProjectBehavior(this, new DotNetStartBehavior(this, new DefaultProjectBehavior(this)));
projectBehavior = ProjectBehaviorService.LoadBehaviorsForProject(this, behavior);
return projectBehavior;
} }
} }

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

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

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

@ -8,16 +8,11 @@
<StackPanel> <StackPanel>
<GroupBox Margin="5" Header="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping}"> <GroupBox Margin="5" Header="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping}">
<widgets:StackPanelWithSpacing SpaceBetweenItems="5"> <widgets:StackPanelWithSpacing SpaceBetweenItems="5">
<CheckBox x:Name="chbEnableJustMyCode" <CheckBox Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.DecompileCodeWithoutSymbols}"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.EnableJustMyCode}" IsChecked="{sd:OptionBinding debugger:DebuggingOptions.DecompileCodeWithoutSymbols}" />
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" <CheckBox x:Name="chbStepOverDebuggerAttributes"
Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverDebuggerAttributes}" Content="{sd:Localize Dialog.Options.IDEOptions.Debugging.Stepping.StepOverDebuggerAttributes}"
IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverDebuggerAttributes}" /> IsChecked="{sd:OptionBinding debugger:DebuggingOptions.StepOverDebuggerAttributes}" />
<CheckBox x:Name="chbStepOverAllProperties" <CheckBox x:Name="chbStepOverAllProperties"
Checked="ChbStepOverAllProperties_CheckedChanged" Checked="ChbStepOverAllProperties_CheckedChanged"
Unchecked="ChbStepOverAllProperties_CheckedChanged" Unchecked="ChbStepOverAllProperties_CheckedChanged"

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -2,10 +2,11 @@
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt) // This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System; using System;
using System.Collections; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Threading; using System.Windows.Threading;
using Debugger.AddIn.Pads.Controls; using Debugger.AddIn.Pads.Controls;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.NRefactory.Ast; using ICSharpCode.NRefactory.Ast;
@ -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 public class AbortedBecauseDebuggeeResumedException: System.Exception

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

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

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

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

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

@ -727,6 +727,13 @@ namespace Debugger.MetaData
this.IsSubclassOf(DebugType.CreateFromType(this.AppDomain.Mscorlib, typeof(ValueType))); 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/> /// <inheritdoc/>
public override bool IsSubclassOf(Type superType) public override bool IsSubclassOf(Type superType)
{ {
@ -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 { bool IDebugMemberInfo.IsAssembly {
get { return false; } get { return false; }
} }

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

@ -203,6 +203,7 @@ namespace Debugger
LoadSymbolsFromDisk(process.Options.SymbolsSearchPaths); LoadSymbolsFromDisk(process.Options.SymbolsSearchPaths);
ResetJustMyCodeStatus(); ResetJustMyCodeStatus();
LoadSymbolsDynamic();
} }
public void UnloadSymbols() public void UnloadSymbols()
@ -335,7 +336,7 @@ namespace Debugger
} }
/// <summary> Sets all code as being 'my code'. The code will be gradually /// <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() public void ResetJustMyCodeStatus()
{ {
uint unused = 0; uint unused = 0;

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

@ -31,5 +31,15 @@ namespace Debugger
public string[] SymbolsSearchPaths { get; set; } public string[] SymbolsSearchPaths { get; set; }
public bool SuspendOtherThreads { get; set; } public bool SuspendOtherThreads { get; set; }
public bool PauseOnHandledExceptions { 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 {
} }
[NUnit.Framework.Test] [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() public void DebugType_Tests()
{ {
if (IsDotnet45Installed()) if (IsDotnet45Installed())

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

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

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

@ -8,7 +8,7 @@ using System.ComponentModel;
using System.ComponentModel.Design; using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization; using System.ComponentModel.Design.Serialization;
using System.Reflection; using System.Reflection;
using System.Text;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.FormsDesigner.Services; using ICSharpCode.FormsDesigner.Services;
@ -161,5 +161,15 @@ namespace ICSharpCode.FormsDesigner
throw; 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());
}
} }
} }

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

@ -66,13 +66,16 @@ namespace ICSharpCode.ILSpyAddIn
if (string.IsNullOrEmpty(typeName)) if (string.IsNullOrEmpty(typeName))
throw new ArgumentException("typeName is null or empty"); 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>()) { foreach (var viewContent in WorkbenchSingleton.Workbench.ViewContentCollection.OfType<DecompiledViewContent>()) {
if (string.Equals(viewContent.AssemblyFile, assemblyFile, StringComparison.OrdinalIgnoreCase) && typeName == viewContent.FullTypeName) { if (string.Equals(viewContent.AssemblyFile, assemblyFile, StringComparison.OrdinalIgnoreCase) && typeName == viewContent.FullTypeName) {
if (updateMarker) { if (updateMarker) {
viewContent.UpdateDebuggingUI(); viewContent.UpdateDebuggingUI();
} }
if (lineNumber > 0)
viewContent.JumpToLineNumber(lineNumber); viewContent.JumpToLineNumber(lineNumber);
else
viewContent.JumpToEntity(entityTag);
viewContent.WorkbenchWindow.SelectWindow(); viewContent.WorkbenchWindow.SelectWindow();
return true; return true;
} }
@ -84,7 +87,10 @@ namespace ICSharpCode.ILSpyAddIn
if (updateMarker) { if (updateMarker) {
decompiledView.UpdateDebuggingUI(); decompiledView.UpdateDebuggingUI();
} }
if (lineNumber > 0)
decompiledView.JumpToLineNumber(lineNumber); decompiledView.JumpToLineNumber(lineNumber);
else
decompiledView.JumpToEntity(entityTag);
}; };
WorkbenchSingleton.Workbench.ShowView(decompiledView); WorkbenchSingleton.Workbench.ShowView(decompiledView);
return true; return true;

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

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

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

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

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

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

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

@ -7,6 +7,7 @@ using System.IO;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Xml; using System.Xml;
using ICSharpCode.SharpDevelop;
namespace ICSharpCode.XmlEditor namespace ICSharpCode.XmlEditor
{ {
@ -19,14 +20,10 @@ namespace ICSharpCode.XmlEditor
/// since we are interested in the complete path or tree to the /// since we are interested in the complete path or tree to the
/// currently active element. /// currently active element.
/// </remarks> /// </remarks>
public sealed class XmlParser public static class XmlParser
{ {
static readonly char[] whitespaceCharacters = new char[] {' ', '\n', '\t', '\r'}; static readonly char[] whitespaceCharacters = new char[] {' ', '\n', '\t', '\r'};
XmlParser()
{
}
/// <summary> /// <summary>
/// Gets path of the xml element start tag that the specified /// Gets path of the xml element start tag that the specified
/// <paramref name="index"/> is currently inside. /// <paramref name="index"/> is currently inside.
@ -687,9 +684,21 @@ namespace ICSharpCode.XmlEditor
return path; return path;
} }
static bool IsQuoteChar(char ch) public static bool IsQuoteChar(char ch)
{ {
return (ch == '\"') || (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
public XmlCompletionItemCollection GetNamespaceCompletion(string textUpToCursor) 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 GetNamespaceCompletion();
} }
return new XmlCompletionItemCollection(); return new XmlCompletionItemCollection();

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

@ -40,15 +40,15 @@ namespace XmlEditor.Tests.Completion
} }
[Test] [Test]
public void KeyPressResultIsCompletedAfterPressingSpaceBar() public void KeyPressResultIsNotCompletedAfterPressingSpaceBar()
{ {
Assert.AreEqual(CodeCompletionKeyPressResult.Completed, keyPressResult); Assert.AreEqual(CodeCompletionKeyPressResult.None, keyPressResult);
} }
[Test] [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
Assert.IsTrue(result); Assert.IsTrue(result);
} }
[Test]
public void CtrlSpaceMethodResultIsFalseWhenCursorIsOutsideAttributeValue()
{
textEditor.Caret.Offset = 0;
Assert.IsFalse(completionBinding.CtrlSpace(textEditor));
}
[Test] [Test]
public void ShowCompletionWindowCalledWithCompletionItems() public void ShowCompletionWindowCalledWithCompletionItems()
{ {

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

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

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

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

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

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

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

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

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

@ -105,7 +105,8 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
WorkbenchSingleton.AssertMainThread(); WorkbenchSingleton.AssertMainThread();
List<SDBookmark> projectBookmarks = new List<SDBookmark>(); List<SDBookmark> projectBookmarks = new List<SDBookmark>();
foreach (SDBookmark mark in bookmarks) { 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); projectBookmarks.Add(mark);
} }
} }

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

@ -5,10 +5,12 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:optionpanels="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels" xmlns:optionpanels="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels"
xmlns:local="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels" xmlns:local="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels"
xmlns:projects="clr-namespace:ICSharpCode.SharpDevelop.Project"
> >
<optionpanels:ProjectOptionPanel.Resources> <optionpanels:ProjectOptionPanel.Resources>
<local:StorageLocationConverter x:Key="converter"/> <local:StorageLocationConverter x:Key="converter"/>
<local:StartActionToBooleanConverter x:Key="startActionToBool"/>
</optionpanels:ProjectOptionPanel.Resources> </optionpanels:ProjectOptionPanel.Resources>
<Grid> <Grid>
@ -45,24 +47,27 @@
VerticalAlignment="Center"> VerticalAlignment="Center">
<optionpanels:StorageLocationPicker.Location> <optionpanels:StorageLocationPicker.Location>
<MultiBinding Converter="{StaticResource converter}"> <MultiBinding Converter="{StaticResource converter}">
<Binding Path="StartAction.Location"/>
<Binding Path="StartProgram.Location"/> <Binding Path="StartProgram.Location"/>
<Binding Path="StartURL.Location"/> <Binding Path="StartURL.Location"/>
</MultiBinding> </MultiBinding>
</optionpanels:StorageLocationPicker.Location> </optionpanels:StorageLocationPicker.Location>
</optionpanels:StorageLocationPicker> </optionpanels:StorageLocationPicker>
<RadioButton IsChecked="True" <RadioButton IsChecked="{Binding StartAction.Value, Converter={StaticResource startActionToBool}, ConverterParameter={x:Static projects:StartAction.Project}}"
Grid.Column="1" VerticalAlignment="Center" Grid.Column="1" VerticalAlignment="Center"
Margin="4,0,0,0" Content="Start Project"> Margin="4,0,0,0" Content="Start Project">
</RadioButton> </RadioButton>
<RadioButton x:Name="startexternal" <RadioButton x:Name="startexternal"
Grid.Row="1" VerticalAlignment="Center" Grid.Column="1" Margin="4,0,0,0" 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:"> Content="Start external program:">
</RadioButton> </RadioButton>
<RadioButton x:Name="startUrl" <RadioButton x:Name="startUrl"
Grid.Row="2" VerticalAlignment="Center" Grid.Column="1" Margin="4,0,0,0" 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:"> Content="Start browser in URL:">
</RadioButton> </RadioButton>

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

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

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

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

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

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

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

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

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

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

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

@ -39,6 +39,9 @@ namespace ICSharpCode.SharpDevelop.Project
string guid = ((MSBuildBasedProject)project).GetEvaluatedProperty("ProjectTypeGuids"); string guid = ((MSBuildBasedProject)project).GetEvaluatedProperty("ProjectTypeGuids");
if (!string.IsNullOrEmpty(guid)) if (!string.IsNullOrEmpty(guid))
return 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; return project.TypeGuid;

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

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

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

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

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

@ -20,5 +20,15 @@ namespace ICSharpCode.SharpDevelop.Project
return true; 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;
}
}
} }
} }

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

@ -4,7 +4,9 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Commands;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project.Commands;
namespace ICSharpCode.SharpDevelop.Project namespace ICSharpCode.SharpDevelop.Project
{ {
@ -120,8 +122,12 @@ namespace ICSharpCode.SharpDevelop.Project
if (wasChangedExternally) { if (wasChangedExternally) {
wasChangedExternally = false; 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) { 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); 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
public const int SolutionVersionVS2005 = 9; public const int SolutionVersionVS2005 = 9;
public const int SolutionVersionVS2008 = 10; public const int SolutionVersionVS2008 = 10;
public const int SolutionVersionVS2010 = 11; public const int SolutionVersionVS2010 = 11;
public const int SolutionVersionVS11 = 12;
/// <summary>contains &lt;GUID, (IProject/ISolutionFolder)&gt; pairs.</summary> /// <summary>contains &lt;GUID, (IProject/ISolutionFolder)&gt; pairs.</summary>
Dictionary<string, ISolutionFolder> guidDictionary = new Dictionary<string, ISolutionFolder>(); Dictionary<string, ISolutionFolder> guidDictionary = new Dictionary<string, ISolutionFolder>();
@ -415,6 +416,8 @@ namespace ICSharpCode.SharpDevelop.Project
sw.WriteLine("# Visual Studio 2008"); sw.WriteLine("# Visual Studio 2008");
} else if (versionNumber == SolutionVersionVS2010) { } else if (versionNumber == SolutionVersionVS2010) {
sw.WriteLine("# Visual Studio 2010"); sw.WriteLine("# Visual Studio 2010");
} else if (versionNumber == SolutionVersionVS11) {
sw.WriteLine("# Visual Studio 11");
} }
sw.WriteLine("# SharpDevelop " + RevisionClass.FullVersion); sw.WriteLine("# SharpDevelop " + RevisionClass.FullVersion);
sw.Write(projectSection.ToString()); sw.Write(projectSection.ToString());
@ -487,6 +490,7 @@ namespace ICSharpCode.SharpDevelop.Project
case "9.00": case "9.00":
case "10.00": case "10.00":
case "11.00": case "11.00":
case "12.00":
break; break;
default: default:
MessageService.ShowErrorFormatted("${res:SharpDevelop.Solution.UnknownSolutionVersion}", match.Result("${Version}")); MessageService.ShowErrorFormatted("${res:SharpDevelop.Solution.UnknownSolutionVersion}", match.Result("${Version}"));
@ -1196,7 +1200,28 @@ namespace ICSharpCode.SharpDevelop.Project
public void UpdateMSBuildProperties() 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 #endregion

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

@ -42,5 +42,15 @@ namespace ICSharpCode.SharpDevelop.Project
FileName = fileName; FileName = fileName;
TypeGuid = "{00000000-0000-0000-0000-000000000000}"; 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
[Test] [Test]
public void GetTypeInheritanceTreeOfClassDerivingFromListOfString() public void GetTypeInheritanceTreeOfClassDerivingFromListOfString()
{ {
if (DotnetDetection.IsDotnet45Installed())
Assert.Ignore(".NET 4.5 adds IReadOnlyList");
List<string> results = new List<IReturnType>( List<string> results = new List<IReturnType>(
MemberLookupHelper.GetTypeInheritanceTree(CreateClassDerivingFromListOfString().DefaultReturnType) MemberLookupHelper.GetTypeInheritanceTree(CreateClassDerivingFromListOfString().DefaultReturnType)
).ConvertAll<string>(delegate (IReturnType rt) { return rt.DotNetName; }); ).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
get { return ICSharpCode.SharpDevelop.Dom.LanguageProperties.CSharp; } get { return ICSharpCode.SharpDevelop.Dom.LanguageProperties.CSharp; }
} }
protected override ProjectBehavior GetOrCreateBehavior() protected override ProjectBehavior CreateDefaultBehavior()
{ {
return new DotNetStartBehavior(this, null); return new DotNetStartBehavior(this, null);
} }

Loading…
Cancel
Save