diff --git a/data/resources/StringResources.cz.resx b/data/resources/StringResources.cz.resx index 170a88f45f..a6328b9dbf 100644 --- a/data/resources/StringResources.cz.resx +++ b/data/resources/StringResources.cz.resx @@ -646,7 +646,7 @@ Více - Bughlášení + Nahlásit chybu Vymazat &vše @@ -1433,7 +1433,7 @@ Není-li barva pro začátek/konec nabídnuta, je použita barva pro obsah. Intervaly jsou sekvencemi znaků určenými počátečním a ideálně také ukončovacím řetězcem (nebo může být ukončen koncem řádku), které jsou odděleny výchozí zvýrazňovací barvou. -Dále, interval může být přiřazen pojmenované sadě pravidel, která povoluje komplexní formátování uvnitř intervalu (HTML značky nebo XML komentáře, např). +Interval může být dále přiřazen pojmenované sadě pravidel, která povoluje komplexní formátování uvnitř intervalu (např. značky HTML nebo komentáře XML). Definované intervaly: @@ -3438,7 +3438,7 @@ vaše oprávnění zápisu do složky či souboru. (může jít o problém ochra Určitě chcete obnovit výchozí rozložení oken? -Pozn: Tato akce neovlivní uživatelsky definovaná rozložení oken. +Pozn.: Tato akce neovlivní uživatelsky definovaná rozložení oken. Převést @@ -5421,18 +5421,6 @@ Například: Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNe Všechny známé formáty projektů - - Našel jsem projekt Visual Studio.NET. Mám ho převést na soubor řešení verze 9.00 (Visual Studio 2005)? - - - Našel jsem projekt Visual Studio.NET 2003. Mám ho převést na soubor řešení verze 9.00 (Visual Studio 2005)? - - - Má být sdružení SharpDevelopu 1.x převedeno na řešení Sharpdevelopu 2.x? - - - Má být Projekt SharpDevelopu 1.x převeden na Projekt Sharpdevelopu 2.x? - V tomto projektu byly soubory resources. SharpDevelop 2 překládá soubory resources jinak: jméno resource je zde prefixován kořenovým prostorem jmen a jménem adresáře. @@ -5593,7 +5581,7 @@ Soubory resources byly přejmenovány/přesunuty, aby tomu odpovídaly. Pro spuštění Sestav SharpDevelop musíte mít nainstalovanou alespoň jednu tiskárnu. - Tohle není platná sestava vyvtořená Sestavami SharpDevelop. + Tohle není platná sestava vytvořená Sestavami SharpDevelop. Nemohu načíst soubor, je poškozený (špatně naformátovaný) @@ -5872,7 +5860,7 @@ Soubory resources byly přejmenovány/přesunuty, aby tomu odpovídaly. Konfigurační element - Vytvoří třidu dědící od ConfigurationElementCollection. + Vytvoří třídu dědící od ConfigurationElementCollection. Kolekce konfiguračních elementů @@ -6169,7 +6157,7 @@ Soubory resources byly přejmenovány/přesunuty, aby tomu odpovídaly. Šablona projektu pro rychlé vytvoření AddInu pro SharpDevelop - AddIn Sharpdevelopu + AddIn SharpDevelopu Vytvoří položku v menu "Nástroje", která získá z editoru vybraný text a může ho libovolně modifikovat. @@ -6301,7 +6289,7 @@ Soubory resources byly přejmenovány/přesunuty, aby tomu odpovídaly. Nelze provést protože se neladí žádný proces. - Nelze provést protože je proces zapauzován. + Nelze provést, protože je proces pozastaven. Nelze provést protože proces běží. @@ -6468,7 +6456,7 @@ Soubory resources byly přejmenovány/přesunuty, aby tomu odpovídaly. Otevře nový soubor - + &Řešení... diff --git a/data/resources/StringResources.de.resx b/data/resources/StringResources.de.resx index b70b318c64..bb4a3ca75d 100644 --- a/data/resources/StringResources.de.resx +++ b/data/resources/StringResources.de.resx @@ -5375,6 +5375,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Gehe zu vorhergehendem Lesezeichen + + {0} @Zeile {1} + + + Ort + Lesezeichen @@ -5483,6 +5489,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Bedingt + + Bedingung + Fortsetzen @@ -6068,6 +6077,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Alle Webreferenzen löschen + + Pfad zu Reflector auswählen + + + Reflector wurde im folgenden Verzeichnis gefunden: + + + Reflector + .NET Reflector öffnen @@ -6495,6 +6513,10 @@ Bitte einen anderen verwenden. Alle bekannten Projektformate + + Diese Version von SharpDevelop kann keine Projekte, die mit Visual Studio .NET 2003 (oder früher) erstellt wurden. +Versuchen Sie das Projekt mit SharpDevelop 3.2 zu konvertieren, oder erstellen Sie ein neues Projekt und fügen Sie ihm die existierenden Quellcodedateien hinzu. + Konnte {0} nicht speichern: {1} @@ -6508,18 +6530,6 @@ Bitte einen anderen verwenden. Stellen Sie sicher, dass die Datei schreibbar ist. - - Visual Studio.NET-Projekt gefunden. Soll es in das Solution Format 9.00 (Visual Studio 2005) umgewandelt werden? - - - Visual Studio.NET 2003-Projekt gefunden. Soll es in das Solution Format 9.00 (Visual Studio 2005) umgewandelt werden? - - - Soll das SharpDevelop 1.x Combine in eine Sharpevelop 2.x Projektmappe konvertiert werden? - - - Soll das SharpDevelop 1.x Projekt in ein Sharpevelop 2.x Projekt konvertiert werden? - Das Projekt enthält Ressourcendateien. SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht nur der Dateiname aber er beginnt mit dem Root Namespace und den Ordnernamen. @@ -7442,6 +7452,9 @@ SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht Kann Aktion nicht ausführen, da Prozess ausgeführt wird. + + Alle Haltepunkte entfernen + &Ohne Debugger ausführen @@ -7611,7 +7624,10 @@ SharpDevelop 2 kompiliert Ressourcendateien anders: der Ressourcenname ist nicht Öffnet neues Fenster - &Projektmappe... + &Projekt... + + + Projekt&mappe... &Öffnen diff --git a/data/resources/StringResources.es-mx.resx b/data/resources/StringResources.es-mx.resx index c240589e94..96b938051a 100644 --- a/data/resources/StringResources.es-mx.resx +++ b/data/resources/StringResources.es-mx.resx @@ -5368,6 +5368,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Ir a marcador anterior + + {0} @línea {1} + + + Ubicación + Marcadores @@ -5476,6 +5482,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Condicional + + Condición + Continuar @@ -6061,6 +6070,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Eliminar todas las referencias web + + Seleccione la ruta a Reflector + + + Reflector fue encontrado en el siguiente directorio: + + + Reflector + Abrir .NET Reflector @@ -6496,18 +6514,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< No se pudo guardar {0}:\n{1}\n\nAsegurese de que el archivo tiene permisos de escritura. - - Se encontró un proyecto de Visual Studio.NET ¿Quiere convertirlo en una Solución 9.00 (Visual Studio 2005)? - - - Se encontró un proyecto de Visual Studio.NET 2003. ¿Quiere convertirlo en una Solución 9.00 (Visual Studio 2005)? - - - ¿Quiere convertir el combinado SharpDevelop 1.x en una solución SharpDevelop 2.x? - - - ¿Quiere convertir el proyecto de SharpDevelop 1.x en un proyecto de SharpDevelop 2.x? - Había archivos de recursos en el proyecto. SharpDevelop 2 compila recursos de manera diferente: el nombre del recurso no es solo el nombre del archivo; sino que es prefijado con el espacio de nombres de la raíz y el nombre de la carpeta. @@ -7432,6 +7438,9 @@ Los archivos de recursos han sido renombrados/movidos convenientemente. No se pudo realizar la acción porque el proceso esta en ejecución. + + Eliminar todos los puntos de interrupción + Ejecutar &sin depurador @@ -7600,7 +7609,7 @@ Los archivos de recursos han sido renombrados/movidos convenientemente. Abrir nuevo búfer - + &Solución... diff --git a/data/resources/StringResources.es.resx b/data/resources/StringResources.es.resx index ef54132abf..64dd00e4e3 100644 --- a/data/resources/StringResources.es.resx +++ b/data/resources/StringResources.es.resx @@ -5372,6 +5372,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Ir al marcador anterior + + {0} @línea {1} + + + Ubicación + Marcadores @@ -5480,6 +5486,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Condicional + + Condición + Continuar @@ -6065,6 +6074,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Eliminar todas las referencias web + + Seleccione la ruta a Reflector + + + Reflector fue encontrado en el siguiente directorio: + + + Reflector + Abrir .NET Reflector @@ -6501,18 +6519,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< No se pudo salvar {0}:\n{1}\n\nAsegurese de que el archivo tiene permisos de escritura. - - Se encontró un proyecto de Visual Studio.NET. ¿Convertirlo a una Solución del formato 9.00 (Visual Studio 2005)? - - - Se encontró un proyecto de Visual Studio.NET 2003. ¿Convertirlo a una Solución de formato 9.00 (Visual Studio 2005)? - - - ¿Convertir los combinados de SharpDevelop 1.x a soluciones de SharpDevelop 2.x? - - - ¿Convertir el proyecto de SharpDevelop 1.x a SharpDevelop 2.x? - Había archivos de recursos en el proyecto. SharpDevelop 2 compila los recursos diferente: el nombre del recurso no es sólo el nombre del archivo, sino que se le añaden como prefijo la raíz del espacio de nombres (namespace) y el nombre del directorio. @@ -7437,6 +7443,9 @@ Los archivos de recursos han sido renombrados o cambiados de ubicación de acuer No se pudo realizar la acción porque el proceso esta en ejecución. + + Eliminar todos los puntos de interrupción + Ejecutar &sin depurador @@ -7605,7 +7614,7 @@ Los archivos de recursos han sido renombrados o cambiados de ubicación de acuer Abrir búfer nuevo - + &Solución... diff --git a/data/resources/StringResources.fr.resx b/data/resources/StringResources.fr.resx index fa5d4e6f2d..955b437e82 100644 --- a/data/resources/StringResources.fr.resx +++ b/data/resources/StringResources.fr.resx @@ -5363,6 +5363,12 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace Aller au marque-page précédent + + {0} @ligne {1} + + + Emplacement + Marque-pages @@ -5471,6 +5477,9 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace Conditionnel + + Condition + Continuer @@ -6057,6 +6066,15 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace Supprimer toutes les références web + + Sélectionner l'emplacement de Reflector + + + Reflector introuvable à l'emplacement suivant: + + + Reflector + Ouvrir Reflector .NET @@ -6483,6 +6501,10 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace Formats de projet connus + + Cette version de SharpDevelop ne peut pas charger des projets créés avec Visual Studio 2003. +Essayez SD3.2 pour une conversion; ou créez un nouveau projet et ajoutez les fichiers existant. + Impossible de sauvegarder {0}:\n{1} @@ -6492,18 +6514,6 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace Impossible de sauvegarder {0}:\n{1}\n\nAssurez vous que le fichier est accessible en écriture. - - Un projet VS.NET trouvé. Doit-il être converti en solution VS.NET 2005 (format de solution 9.00)? - - - Un projet VS.NET 2003 trouvé. Doit-il être converti en solution VS.NET 2005 (format de solution 9.00)? - - - Cette solution SharpDevelop 1.x doit-elle être convertie en solution SharpDevelop 2.x? - - - Ce projet SharpDevelop 1.x doit-il être converti en projet SharpDevelop 2.x? - Il y avait des fichiers de resources dans le projet. SharpDevelop 2 compile les resources de manière différente: le nom de la resource n'est pas juste le nom de fichier mais il est préfixé par le namespace racine et le nom du répertoire. @@ -7428,6 +7438,9 @@ Les fichiers de resources ont été renommés/déplacés en conséquence. Impossible de réaliser l'action car une tâche est en cours. + + Supprimer tous les points d'arrêt + Exécuter &sans débogueur @@ -7597,6 +7610,9 @@ Les fichiers de resources ont été renommés/déplacés en conséquence.Ouvrir un nouveau buffer + &Projet... + + &Solution... diff --git a/data/resources/StringResources.hu.resx b/data/resources/StringResources.hu.resx index 8221eabdee..ed9c8810fe 100644 --- a/data/resources/StringResources.hu.resx +++ b/data/resources/StringResources.hu.resx @@ -4637,18 +4637,6 @@ Válassza a 'Beállítások->Látványstílus' menüpontot és változtasson Minden ismert projekt formátum - - Visual Studio.NET Projekt felismerve. Átalakítható 9.00 Megoldás Formátumra (Visual Studio 2005)? - - - Visual Studio.NET 2003 Projekt felismerve. Átalakítható 9.00 Megoldás Formátumra (Visual Studio 2005)? - - - A SharpDevelop 1.x összeállítás átalakítható SharpDevelop 2.x Megoldássá? - - - A SharpDevelop 1.x projektet átalakítása SharpDevelop 2.x projektre? - Erőforrás fájlok vannak a projektben. SharpDevelop 2 másként fordítja az erőforrásokat: az erőforrás neve nem csak a fájl neve; prefixként tartalmazza a kezdő névteret és a könyvtár nevét is. @@ -5579,7 +5567,7 @@ Az erőforrás fájlok mozgatása/átnevezése megtörtént. Új puffer nyitása - + &Megoldás... diff --git a/data/resources/StringResources.it.resx b/data/resources/StringResources.it.resx index af56353cad..006e9b9ad8 100644 --- a/data/resources/StringResources.it.resx +++ b/data/resources/StringResources.it.resx @@ -4305,18 +4305,6 @@ Vai a 'Opzioni->Stile visuale' e cambia l'attuale ambiente di linguaggio. Tutti i formati di progetto conosciuti - - Trovato progetto Visual Studio.NET. Vuoi convertirlo nel formato 9.0 (Visual Studio 2005)? - - - Trovato un progetto Visual Studio.NET 2003. Vuoi convertirlo nel formato 9.0 (Visua Studio 2005)? - - - Si deve convertire la combinazione SharpDevelop 1.x in una soluzione SharpDevelop 2.x ? - - - Si deve convertire il progetto versione 1.x alla versione 2.x? - C'erano dei file di riorsa nel progetto. SharpDevelop 2 compila le risorse differentemente: il nome della risorsa non è solo il nome del file, ma è prefissato con il nome del namespace radice e della cartella. @@ -5210,7 +5198,7 @@ SharpDevelop 2 compila le risorse differentemente: il nome della risorsa non è Apri nuovo buffer - + &Soluzione... diff --git a/data/resources/StringResources.kr.resx b/data/resources/StringResources.kr.resx index e02ef769f2..9bc1fd0e53 100644 --- a/data/resources/StringResources.kr.resx +++ b/data/resources/StringResources.kr.resx @@ -5745,18 +5745,6 @@ Windows Forms 구성 요소가 아무 것도 사용가능하지 않습니다. {0}을(를) 저장할 수 없습니다:\n{1}\n\n이 파일에 쓰기가 가능한지 확인하십시오. - - Visual Studio.NET 프로젝트가 발견되었습니다. 솔루션 형식 9.00 (Visual Studio 2005)으로 변환하겠습니까? - - - Visual Studio.NET 2003 프로젝트가 발견되었습니다. 솔루션 형식 9.00 (Visual Studio 2005)으로 변환하겠습니까? - - - ShaprDevelop 1.x 컴바인을 SharpDevelop 2.x 솔루션으로 변환하겠습니까? - - - SharpProject 1.x 프로젝트 파일을 SharpProject 2.x 프로젝트로 변환하겠습니까? - 이 프로젝트에 리소스 파일이 있었습니다. SharpDevelop 2는 리소스를 다른 방법으로 컴파일합니다: 리소스 이름이 단순히 파일 이름이 아니라, 루트 네임스페이스와 디렉터리 이름이 앞에 붙어 있습니다. @@ -6804,7 +6792,7 @@ SharpDevelop 2는 리소스를 다른 방법으로 컴파일합니다: 리소스 새 버퍼를 엽니다. - + 솔루션(&S)... diff --git a/data/resources/StringResources.nl.resx b/data/resources/StringResources.nl.resx index 930aabf1ad..3b016629f1 100644 --- a/data/resources/StringResources.nl.resx +++ b/data/resources/StringResources.nl.resx @@ -5364,6 +5364,12 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie Ga naar vorige bladwijzer + + {0} @regel {1} + + + Locatie + Bladwijzers @@ -5472,6 +5478,9 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie Voorwaardelijk + + Voorwaarde + Vervolgen @@ -6057,6 +6066,15 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie Verwijder alle web referenties + + Selecteer Reflector psd + + + Reflector werd in volgende directorie gevonden: + + + Reflector + Open .NET Reflector @@ -6483,6 +6501,10 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie Alle bekende Project formaten + + Deze versie van SharpDevelop kan projecten die gemaakt zijn met Visual Studio .NET 2003 (of ouder) niet laden. +Probeer te converteren met SharpDevelop 3.2 of maak een nieuw project en voeg de bestaande broncode bestanden hier aan toe. + Kan {0} niet opslaan:\n{1} @@ -6492,18 +6514,6 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie Kan {0} niet opslaan:\n{1}\n\nVerzeker u er van dat het bestand schrijfbaar is. - - Vond Visual Studio.NET Project. Wilt u dit overzetten naar Oplossing Formaat 9.00 (Visual Studio 2005)? - - - Vond Visual Studio.NET 2003 project. Wilt u dit overzetten naar Oplossing Formaat 9.00 (Visual Studio 2005)? - - - Dient de SharDevelop 1.x combine te worden overgezet naar een SharpDevelop 2.x Oplossing? - - - Dient het SharpDevelop 1.x project te worden overgezet naar een SharpDevelop 2.x project? - Het project bevatte hulpbron bestanden. SharpDevelop 2 compileert hulpbronnen verschillend: de hulpbron naam is niet de bestandsnaam alleen, maar wordt voorafgegaan door de basis naamruimte en de mapnaam. @@ -7429,6 +7439,9 @@ De hulpbron bestanden zijn hernoemd/verplaatst op de beschreven wijze. Kan actie niet uitvoeren omdat proces loopt. + + Verwijder alle breekpunten + Uitvoeren &zonder foutopsporing @@ -7598,6 +7611,9 @@ De hulpbron bestanden zijn hernoemd/verplaatst op de beschreven wijze. Nieuwe buffer openen + &Project... + + &Oplossing... diff --git a/data/resources/StringResources.no.resx b/data/resources/StringResources.no.resx index 9468d2a7d8..19b320352e 100644 --- a/data/resources/StringResources.no.resx +++ b/data/resources/StringResources.no.resx @@ -232,6 +232,72 @@ For å installere, last ned et tillegg fra internett, deretter klikk 'Installer Vis klassediagram + + TortoiseGit må være installert for å utføre denne handlingen. + + + Innhold + + + Vis innhold + + + Søk + + + Hjelpebibliotek + + + Hjelpemodus + + + Installerte hjelp-kataloger + + + Microsoft Hjelp-viser + + + Du forespurte en offline funksjon mens programmet et i online hjelpemodus. Du må endre modusen for å bruke denne funksjonen. + + + Søk + + + Let etter: + + + Søk + + + Vis hjelp + + + Bruk ekstern hjelp + + + Jeg vil bruke lokal hjelp + + + Jeg vil bruke online hjelp + + + Antall bytes per linje + + + Vis + + + Elementer + + + Data + + + Forskyving + + + Numerisk system + Utvid til full bredde @@ -401,9 +467,198 @@ Du må installere .NET Framework SDK for å få tilgang til hjelpesystemet. Bruk aktivt prosjektspråk + + Resultat + + + Flettede noder + + + Alle funksjoner for {0} + + + Den valgte SharpDevelop profilsesjonen ble opprettet av en nyere versjon av SharpDevelop og kan derfor ikke åpnes. + + + SharpDevelop profilsesjon + + + Prosjektet kan ikke startes fordi den kjørbare filen finnes ikke. Vennligst påse at prosjektet og alle avhengigheter er bygget korrekt! + + + Ingen startbare prosjekter ble funnet. Avbryter... + + + Dette prosjektet kan ikke startes. Vil du profilere løsningens oppstartsprosjekt istedet? + + + Forbereder analyse... + + + Kunne ikke registrere profilereren i COM registeret. Kan ikke starte profilering! + + + Kunne ikke avregistrere profilereren fra COM registeret! + + + Profiler + + + Kombiner rekursive kall. + + + Ikke profiler interne .NET kall. + + + Samle data kun ved slutten av sesjonen. + + + Start datainnsamling med en gang sesjonen er startet. + + + Datasamling + + + Størrelse på midlertidig lagringsfil: + + + Spor hendelser + + + Generelt + + + Profilering + + + Profiler dette prosjektet + + + Velg kjørbar fil å profilere + + + Ugyldige data, vennligst prøv igjen! + + + Kommandolinjeargumenter: + + + Velg banen til den kjørbare filen du vil profilere. Du kan også (valgfritt) spesifisere en arbeidskatalog og kommandolinjeargumenter. + + + Bane til kjørbar fil: + + + Start profilering + + + Profiler kjørbar fil + + + Arbeidskatalog: + + + Samle data + + + Slå av + + + Kontrollvindu for profilering + + + Antall kall + + + Kall: + + + Slett spørringshistorikk + + + Kopier merkede data + + + Kopier stakksporing + + + Finn kall til valgte funksjoner + + + Gå til definisjon + + + Sett som rot/Flett + + + Vis funksjoner + + + Prosessorsykluser: + + + Utfør spørring + + + Utvid valgte aktive bane + + + Navn + + + Oversikt + + + Spørringshistorikk + + + Søk: + + + Vis spørringspanel + + + % av forelder + + + Tidsbruk + + + Tidsbruk/kall + + + Tidsbruk (egen) + + + Tidsbruk (egen)/kall + + + Tid: + + + Profileringssesjon-analyse + + + Topp 20 + + + Oppdaterer visningen, vennligst vent... + + + Kjør med profilering + Lag metode + + Den merkede koden inneholder en break-kommando uten den ytre løkken. Vennligst endre utvalget! + + + Den merkede koden inneholder en continue-kommando uten den ytre løkken. Vennligst endre utvalget! + + + Den merkede koden inneholder en goto-kommando, men ikke merkelappen. Vennligst endre utvalget! + Skriv inn et navn på den nye metoden @@ -416,6 +671,51 @@ Du må installere .NET Framework SDK for å få tilgang til hjelpesystemet. Metode-uttrekk støttes ikke i {0}! + + Sett inn konstruktør + + + Legg til null-sjekk + + + Legg til fra/til-sjekk + + + Velg alle felter du vil bruke for å lage konstruktøren: + + + Variabel + + + Introduser metode {0} i {1} + + + Overstyr Equals() og GetHashCode() + + + Legg til interface {0} + + + Legg til overloads for operatører + + + Legg til overstyring av ${otherMethod} + + + Omring med #region + + + Overstyr ToString() + + + Velg feltene du vil bruke i ToString()-implementeringen: + + + Løs opp attributt: {0} + + + Løs opp utvidelsesmetode {0} + Sjekk med StyleCop @@ -558,6 +858,112 @@ Du må lagre disse filene før du utfører denne handlingen. Oppdater til revisjon + + Takk for at du deltar! Hvis du ombestemmer deg kan du skru av dette i alternativene til SharpDevelop. + + + Jeg vil gjerne bidra - samle inn og last opp bruksdata. + + + Du kan skru på dette senere i alternativene for SharpDevelop. + + + Jeg vil ikke bidra. + + + Vi trenger din hjelp! For å forbedre SharpDevelop i framtiden trenger vi å vite hvilke funksjoner som brukes mest. +SharpDevelop kan samle inn denne informasjonen og laste den opp automatisk. + + + Retningslinjer for personvern + + + Vis oppsamlede data + + + Oppsamler for bruksdata + + + La SharpDevelop finne typen basert på initialiseringen. + + + Rediger tabellkolonner og rader + + + Trekk ut egenskaper som stil + + + Ingen gyldige elementer valgt! + + + Navn på egenskap/hendelse + + + Den valgte kontrollen har allerede en tilordnet stil. Vil du erstatte denne med den nye stilen? + + + Stilnavn: + + + Egenskapsverdi + + + Grupper til + + + Fjern margin + + + Fjern unødvendige attributter + + + <ny hendelsesfunksjon> + + + Kodefullføring + + + Farge for hendelser: + + + Navnemaske for hendelsesfunksjon + + + Velg fargene som skal brukes i XAML-fargekodingen: + + + Fargekoding + + + Farge for ignorerte elementer: + + + Farge for XML-navneromdeklarasjoner: + + + Farge for egenskaper: + + + Bytt til kode etter innsetting av en ny hendelsesfunksjon + + + XAML + + + Bruk fullføring av markup utvidelse + + + Bruk avansert fargekoding + + + Filen kan ikke lagres med den nåværende kodingen ${encoding} uten tap av data. + + + Fortsett + + + Lagre som UTF-8 + Prosjektet er konfigurert som en DLL og ingen kjøringskommando er spesifisert. Du kan spesifisere en kjøringskommando i prosjektinnstillingene. @@ -1724,6 +2130,12 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for Beskrivelse + + Vennligst skriv listen med filetternavn som en semikolon-separert liste. (Eksempel: .h;.c;.cpp) + + + Rediger utvidelser + &Beskrivelse @@ -1736,6 +2148,9 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for &Filtyper + + Nøkkelord-knytning + Trykk Tab for å sette inn denne kodemalen @@ -2075,6 +2490,9 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for Bruk &temp-fil for lagring + + Standard fil-koding: + Overvåk eksterne endringer av filer @@ -2088,7 +2506,7 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for &Les inn brukerspesifikke innstillinger med dokumentet - Macintosh + Macintosh (CR) Åpne/Lagre @@ -2097,13 +2515,13 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for Lagre - Unix + Unix (LF) Send slettede filer til papirkurven - Windows + Windows (CRLF) Format @@ -2216,6 +2634,9 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for &Konverter tabulator til mellomrom + + Bruk Ctrl+Klikk for "Gå til definisjon" + A&utomatiske krøllparenteser @@ -2261,6 +2682,9 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for &Automatisk innsetting av maler + + Bruk smarte innrykk + Kodefullføring @@ -2313,7 +2737,10 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for Vis markørlinje - Vis &linjeslutt markører + Vis &linjeslutt-markører + + + Fargekode symboler Uthev &matchende parentes @@ -2444,6 +2871,18 @@ I tillegg kan et spenn tilordnes et navngitt regelsett som tillater kompleks for Språkfil: + + Applikasjons-&manifest: + + + Ikke bygg inn manifest + + + Bygg inn standard manifest + + + Manifest-filer + Resultatnavn: @@ -2762,6 +3201,18 @@ Du kan også velge å lagre innstillingen i .user-filen istedet for i prosjektfi Velg public medlemmer + + Lag ny klasse: + + + Metoden kan ikke opprettes direkte, fordi det ikke er tilgjengelig noen kildekode for klassen. Vennligst velg en statisk klasse hvor metoden kan lages som en utvidelsesmetode. + + + Introduser metode + + + Bruk eksisterende klasse: + .NET samlingsutforsker @@ -2927,6 +3378,18 @@ Du kan også velge å lagre innstillingen i .user-filen istedet for i prosjektfi Mappe + + Skriftstil + + + Egendefinert + + + Velg skrifttype + + + Understrek + &Hjelp @@ -3006,7 +3469,7 @@ Du kan også velge å lagre innstillingen i .user-filen istedet for i prosjektfi Prøv igjen - Velg alle + Velg &alle Små ikoner @@ -3035,6 +3498,9 @@ Du kan også velge å lagre innstillingen i .user-filen istedet for i prosjektfi Åpne + + Åpne katalog i Utforsker + Åpne med... @@ -3059,6 +3525,9 @@ Du kan også velge å lagre innstillingen i .user-filen istedet for i prosjektfi Tekst editor + + Tekstredigering (velg koding) + Innebygd nettleser @@ -3173,6 +3642,9 @@ Du kan også velge å lagre innstillingen i .user-filen istedet for i prosjektfi Ressursverdi: + + Trykk Ctrl+mellomrom for å vise elementer fra alle navnerom + Boo tolker @@ -3367,6 +3839,45 @@ Hvis NCover er installert, vennligst oppgi plasseringen til applikasjonen i inns Vis feil + + Tilleggsinnstillinger + + + Linker + + + Link ytterligere filer + + + Link spesifikke .NET moduler + + + Lag debuggings-informasjon + + + Plassering for bibliotekfiler + + + Bygg inn .NET ressursfil + + + Preprosessor + + + Definer følgende preprosessor-symboler + + + Plassering for header-filer + + + Avdefiner alle definerte preprosessorsymboler + + + Avdefiner følgende preprosessorsymboler + + + Symbol + .NET ressursfil (binær) @@ -3510,6 +4021,39 @@ Vennligst konfigurer plasseringen til NAnt programmet i innstillingene for Sharp Sett inn PInvoke signaturer... + + Fra C# til Python + + + Fra VB.NET til Python + + + Python-konsoll + + + Python-filer + + + Python-prosjektfiler + + + Send linje til Python-konsoll + + + Send til Python-konsoll + + + Kunne ikke finne type '{0}'. Mangler du en assembly-referanse? + + + Det valgte elementet er ikke en klasse eller et overstyrbart medlem, så ingen symboler kan vises. + + + Send linje til Ruby-konsoll + + + Send til Ruby-konsoll + Kan ikke lese filen ${FileNameWithoutPath} i ${Path}. Sjekk at filen eksisterer og at du har leserettigheter til den. @@ -3713,6 +4257,9 @@ Merk: Dette påvirker ikke egendefinerte oppsett. Filen er lagret + + Naviger til fil i prosjekt-utforsker + fra VB.NET til C# @@ -3872,6 +4419,9 @@ Merk: Dette påvirker ikke egendefinerte oppsett. Generelt + + Generer Visual Studio-lignende hendelsesfunksjoner + Egenskaper for rutenett @@ -4048,7 +4598,7 @@ Ingen Windows Forms komponenter vil være tilgjengelig, vennligst konfigurer sid Sjekk om du har tilstrekkelige rettigheter. - Ugyldig prosjektnavn. + Ulovlig prosjektnavn. Bare bokstaver, tall, mellomrom, '.' eller '_' er tillatt. @@ -4057,6 +4607,9 @@ Bare bokstaver, tall, mellomrom, '.' eller '_' er tillatt. Ugyldig prosjektnavn: prosjektnavnet må starte med en bokstav. + + Du må spesifisere en gyldig absolutt bane som prosjekplassering. + &Velg filtypene du vil assosiere med SharpDevelop: @@ -4087,6 +4640,9 @@ Bare bokstaver, tall, mellomrom, '.' eller '_' er tillatt. S&ynkende + + Verktøy ikke funnet + Kredentialer for oppdaging @@ -4150,6 +4706,9 @@ Bare bokstaver, tall, mellomrom, '.' eller '_' er tillatt. Angir navnerommet hvor det egendefinerte verktøyet plasserer resultatet sitt. + + Full bane til filen. + Logisk navn @@ -4222,12 +4781,42 @@ Bare bokstaver, tall, mellomrom, '.' eller '_' er tillatt. Prosjektfilen ${projectLocation} finnes fra før. Vil du overskrive den eksisterende filen? + + Filen(e) ${fileNames} eksisterer allerede, vil du overskrive? + - Filen finnes fra før + Filen(e) finnes fra før Laster ${Filename}... + + Konverter valgte &prosjekter til: + + + Endre mål-rammeverk: + + + Endre versjon på valgte prosjekter + + + Kompilator-versjon + + + Konverter + + + <ikke endre> + + + Målrammeverk + + + Prosjektoppgradering + + + Denne løsningen ble opprettet med en tidligere versjon av SharpDevelop. Du bør kanskje oppgradere den slik at du kan bruke nye funksjoner i språk eller rammeverk. + Aktivt miljø finnes ikke. Gå til 'Alternativer -> Visuell stil' og endre språkmiljø. @@ -4236,7 +4825,7 @@ Gå til 'Alternativer -> Visuell stil' og endre språkmiljø. Alle er markert. - Alle er erstattet. + ${Count} erstatninger utført. Alle tester @@ -4244,6 +4833,9 @@ Gå til 'Alternativer -> Visuell stil' og endre språkmiljø. Kodedekning + + Lag XML resultatfil + Navngi hver test @@ -4274,6 +4866,15 @@ Gå til 'Alternativer -> Visuell stil' og endre språkmiljø. Kjør med feilsøking + + Tester ${Name}... + + + &Test + + + Kan ikke kjøre enhetstester. Filen '{0}' finnes ikke. + Legg til utvidelser @@ -4503,6 +5104,36 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Visual Studio utvidelse + + Kopier + + + Klipp ut + + + Oversikt + + + Lim inn + + + Egenskaper + + + Gjenta + + + Fjern + + + Verktøy + + + Angre + + + Vis XAML + Egendefinert: @@ -4891,7 +5522,7 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< ved {0} i {1}:linje {2} - Feilen {0} oppståd i program under feilsøking: + En feil av type {0} oppstod:\n{1} Vis feildetaljer @@ -4989,6 +5620,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Versjon + + Objektgraf + Kjør til markør @@ -5112,6 +5746,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Hjelp + + Oversikt + + + Det er ikke noe oversiktsinnhold tilgjengelig for dokumentet. + Resultat @@ -5313,6 +5953,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Rens + + Kollaps alle + Slette '${FileName}' permanent? @@ -5355,6 +5998,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< XML dokumentasjons filen eksisterer ikke, du må kompilere prosjektet. + + Generering av dokumentasjon fra XML-kommentarer krever at 'Sandcastle Help File Builder' er installert. + HTML eksport @@ -5691,6 +6337,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Strøm lagt til! + + Baseklasser for ${Name} + Handlingen kan ikke utføres fordi kildekoden din inneholder feil: @@ -5703,6 +6352,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Klasser som er derivert fra ${Name} + + Konverter til automatisk egenskap + Lag endret-hendelse @@ -5721,12 +6373,21 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Deklarerende type + + Utvid automatisk egenskap + Trekk ut interface + + Finn baseklasser + Finn &deriverte klasser + + Finn deriverte symboler + Finner referanser... @@ -5748,6 +6409,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Gå til egenskap + + Implementer abstrakt klasse + Implementer grensesnitt @@ -5829,18 +6493,6 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Kunne ikke lagre {0}:\n{1}\n\nSjekk at filen er skrivbar. - - Fant Visual Studio .NET prosjekt. Skal jeg konvertere det til Solution Format 9.00 (Visual Studio 2005)? - - - Fant Visual Studio .NET 2003 prosjekt. Skal jeg konvertere det til Solution Format 9.00 (Visual Studio 2005)? - - - Skal SharpDevelop 1.x løsningen konverteres til en SharpDevelop 2.x løsning? - - - Skal SharpDevelop 1.x prosjektet konverteres til et SharpDevelop 2.x prosjekt? - Det var ressursfiler i prosjektet. SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filnavnet, det inkluderer også rot-namespacet og katalognavnet. @@ -6046,12 +6698,18 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Siste side + + Neste + Opprettede sider Lag PDF fil + + Forrige + Skaler @@ -6301,6 +6959,9 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Tom fil + + Feil + Et vindu for en Gtk# applikasjon @@ -6400,6 +7061,12 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Struct + + En strukturdeklarasjon som inkluderer implementasjoner av Equals() og GetHashCode(). + + + Struktur + Tom tekstfil @@ -6424,6 +7091,9 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna ASP.NET webside + + ASP.NET Web Handler + Komponentskall for ASMX webtjeneste. @@ -6538,6 +7208,12 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Konsollapplikasjon + + Et prosjekt som lager en kommandolinjeapplikasjon i ikke-håndtert (native) kode. + + + Native konsollprosjekt + Et prosjekt for å lage en applikasjon med Direct3D grensesnitt. @@ -6586,6 +7262,12 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Verktøymeny oppføring + + Et prosjekt som lager en Silverlight-applikasjon. + + + Silverlight-applikasjon + Et prosjekt som lager en applikasjon med et ikon i varslingsområdet på oppgavelinjen. @@ -6640,6 +7322,9 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Konfigurer sidepanel... + + &Analyse + Bygg @@ -6706,6 +7391,12 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Kan ikke lese versjonen av .NET rammeverket. Sjekk at programmet er en .NET samling. + + Kan ikke knytte til prosess. + + + Kan ikke starte prosess. + Kan ikke utføre handlingen fordi en prosess er under feilsøking. @@ -6809,10 +7500,10 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Til små bokstaver - Fjern ledende blank + Fjern tomrom fra start - Fjern blank slutt + Fjern tomrom fra slutt Sorter linjer... @@ -6892,7 +7583,7 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Lag ny fil - + &Prosjekt... @@ -6940,6 +7631,9 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Lagre &som... + + Lagre med koding... + F&ormat @@ -7102,6 +7796,9 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Bygger det aktive prosjektet. + + Bygger alle prosjekter i denne løsningen. + Bygger det aktive prosjektet eller dokumentet (når ingen prosjekt er åpne) (lagrer automatisk) @@ -7136,7 +7833,7 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Finn neste som utvalg - &Gå til linje... + &Gå til... Gå til &matchende parentes diff --git a/data/resources/StringResources.pl.resx b/data/resources/StringResources.pl.resx index 33e72fc11a..1463b17f9e 100644 --- a/data/resources/StringResources.pl.resx +++ b/data/resources/StringResources.pl.resx @@ -5153,18 +5153,6 @@ Idź do 'Opcje->Styl wizualny' i zmień atmosferę bieżącego języka. Wszystkie znane formaty projektów - - Znaleziono Projekt Visual Studio.NET. Czy przekonwertować go do Solution Format 9.00 (Visual Studio 2005)? - - - Znaleziono Projekt Visual Studio.NET 2003. Czy przekonwertować go do Solution Format 9.00 (Visual Studio 2005)? - - - Czy zestaw SharpDevelop 1.x ma zostać przekonwertowany do rozwiązania SharpDevelop 2.x? - - - Czy projekt SharpDevelop 1.x ma zostać przekonwertowany do projektu SharpDevelop 2.x? - Projekt zawierał pliki zasobów. SharpDevelop 2 kompiluje zasoby inaczej: nazwa zasobu nie jest tylko nazwą pliku, ale jest poprzedzona główną przestrzenią nazw i nazwą katalogu. @@ -6119,7 +6107,7 @@ Pliki zasobów zostały odpowiednio nazwane/przeniesione. Otwórz nowy bufor - + &Rozwiązanie... diff --git a/data/resources/StringResources.pt-br.resx b/data/resources/StringResources.pt-br.resx index e7f9bcf066..e93dafb9e2 100644 --- a/data/resources/StringResources.pt-br.resx +++ b/data/resources/StringResources.pt-br.resx @@ -685,6 +685,33 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda. Introduzir método {0} em {1} + + Sobrepôe Equals() e GetHashCode() + + + Adiciona interface {0} + + + Adiciona operador de sobrecarga + + + Adiciona ${otherMethod} sobrecarregado + + + Envolve com #region + + + Sobrecarrega ToString() + + + Selecionar os campos que voce quer usar na implementação de ToString(): + + + Resolver atributos: {0} + + + Resolver metodo extensão {0} + Verificar com StyleCop @@ -694,6 +721,15 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda. Branch/tag + + O arquivo/diretorio não pode ser copiado porque está no status subversion '{0}'. + + + O arquivo/diretorio não pode ser movido porque está no status subversion '{0}'. + + + O arquivo/diretorio não pode ser removido porque seu status subversion é "{0}'. + Verifica modificações @@ -709,18 +745,33 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda. Criar correção + + Apagar diretorio + Diferença Editar conflitos + + Erro ao apagar ${File} + Exportar + + Forçar apagar + Historico + + '{0} foi removido da lista ignorar. + + + Manter a solução antiga aberta + Obter trava @@ -748,24 +799,42 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda. Exibir aba do &historico para arquivos de versão controlada + + Recarregar solução + + + SharpDevelop verificou que a operação de controle de versão mudou os arquivos do projeto. + Realocar Remover da lista ignore. + + O arquivo foi apenas movido para esse local. Voce quer realmente remove-lo? + Repositorio do browser Reverter + + O arquivo foi modificado. Voce quer realmente remove-lo? + Gráfico de revisão + + Salvar arquivos + Mostra o log + + A operação de controle de versão pode afetar arquivos modificados e não alterados. Voce tem que salvar esses arquivos antes de executar a operação. + Mudar @@ -778,6 +847,108 @@ Voce precisa instalar o .Net Framework SDK para acessar o sistema de ajuda. Atualizar a revisão + + Obrigado por sua participação! Voce pode selecionar a opção mais tarde usando as opções do SharpDevelop. + + + Eu gostaria de participar - coletar e enviar dados de uso. + + + Voce ainda pode selecionar essa opção mais tarde usando as opções do SharpDevelop. + + + Eu não desejo participar + + + Precisamos da sua ajuda! Para melhorar o SharpDevelop no futuro, gostariamos que saber quais facilidades são mais utilizadas. SharpDevelop pode coletar essa informação e envia-la automaticamente. + + + Regras de Privacidade + + + Mostra dados coletados + + + Coletor de Dados Usados + + + Permite que o SharpDevelop descubra o tipo baseado no inicializados. + + + Editar grid de colunas e linhas + + + Extrair propriedades como estilo + + + Nenhum elemento valido selecionado! + + + Nome de Propriedade/Evento + + + O controle selecionado já possui um estilo assinalado. Voce quer trocar esse estilo com o estilo mais recente criado? + + + Nome do estilo: + + + Valor da Propriedade + + + Agrupar dentro + + + Remover margem + + + Remover atributos desnecessarios + + + <novo manipulador de eventos> + + + Conclusâo de codigo + + + Cor do evento: + + + Nome padrão do manipulador de eventos: + + + Selecionar as cores que devem ser usadas pelo XAML: + + + Destaque + + + Cor do elemento ignorado: + + + Declaração da cor do namespace XML: + + + Cor da Propriedade: + + + Chaveia para codigo após a inserção do novo manipulador de evento + + + XAML + + + Usar a extensão de conclusão de marcação + + + O arquivo não pode ser salvo com a codificação corrente ${encoding} sem perder dados + + + Continuar + + + Salvar como UTF-8 + Projeto está configurado como DLL e nenhuma linha de comando foi especificada. Você pode especificar uma linha de comando em Projeto > Opções. @@ -1960,6 +2131,9 @@ Além disso, um span pode definir um rule set nomedo que permite uma formataçã E&xtensões + + Mapeamento de palavra chave + Pressione Tab para inserir esse código padrão. @@ -2299,6 +2473,9 @@ Além disso, um span pode definir um rule set nomedo que permite uma formataçã Sempre cri&ar cópia de segurança + + Codificação padrão de arquivo: + &Detectar mudanças externas nos arquivos @@ -2437,6 +2614,9 @@ Além disso, um span pode definir um rule set nomedo que permite uma formataçã C&onverter Tabulações para Espaços + + Usar Ctrl+Click para "Ir para Definição" + A&uto inserir chaves @@ -2482,6 +2662,9 @@ Além disso, um span pode definir um rule set nomedo que permite uma formataçã Inserção &automática de modelo + + Usar indentação inteligente + Assistente de Código @@ -5330,18 +5513,6 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Todos formatos de projeto conhecidos - - Encontrado projeto Visual Studio .Net. Devo converte-lo para o Formato de Solução 9.0 (Visual Studio 2005)? - - - Encontrado projeto Visual Studio .Net 2003. Devo converte-lo para o Formato de Solução 9.00 (Visual Studio 2005)? - - - Deve o SharpDevelop combinado 1.x ser convertido para a solução do SharpDevelop 2.x? - - - Deve o projeto SharpDevelop 1.x ser convertido para o projeto do SharpDevelop 2.x? - Os arquivos de recursos foram renomeados/movidos de acordo. @@ -6098,6 +6269,9 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Setar configuração + + Ajusta plataforma + &Depurar @@ -6116,6 +6290,9 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Continuar a execução do processo. + + Desconecta + Não é possível obter a versão do .NET Framework do programa. Verifique se o programa é um assembly gerenciado. @@ -6125,9 +6302,21 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Não pode iniciar o processo. + + Não pode executar ação porque algum processo está sendo depurado. + + + Não pode iniciar o depurador do SharpDevelop porque o depurador de kernel está ligado. Para desligar o depurador de kernel, remova a opção "/debug" do arquivo Boot.ini e reinicie o seu computador. + Não é suportado depurar programas do .Net Framework 1.0. + + Não pode executar a ação porque nenhum processo está sendo depurado. + + + Não pode executar a ação porque o processo está rodando. + Executar &sem depuração @@ -6135,13 +6324,22 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Executar o programa sem o depurador anexado. + Executa dentro + + Etapa dentro - Etapa fora + Executa fora + + + Executa fora + + + Executa sobre - Etapa sobre + Executa sobre Parar processo @@ -6287,7 +6485,7 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Abrir novo buffer - + &Solução... @@ -6335,6 +6533,9 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Salvar &como... + + Salva com codificação de caracteres... + &Formatar @@ -6452,6 +6653,9 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. &Sobre... + + Ajuda contextual + Ajuda &Dinâmica @@ -6494,6 +6698,9 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Compila o projeto atual + + Monta os projetos na solução atual. + Compilar projeto atual ou buffer (quando nenhum projeto estiver aberto) (salvamento automático) @@ -6533,6 +6740,9 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Ir para &chave ('{','}') + + Pesquisa incremental + Próxima marca diff --git a/data/resources/StringResources.pt.resx b/data/resources/StringResources.pt.resx index bb43f8e55b..8474c7b8cd 100644 --- a/data/resources/StringResources.pt.resx +++ b/data/resources/StringResources.pt.resx @@ -229,6 +229,66 @@ Faça o download de um AddIn através da Internet, depois pressione 'Instalar Ad Formato de ficheiro desconhecido: + + Ver Diagrama de Classes + + + Necessita instalar o TortoiseGit para executar esta acção + + + Conteúdo + + + Mostrar Conteúdo + + + Procurar + + + Biblioteca de Ajuda + + + Mode de Ajuda + + + Catálogos de Ajuda instalados. + + + Visualizador de Ajuda da Microsoft + + + Prentende utilizar uma funcionalidade Local no modo de Ajuda Na Internet. Deve mudar o modo para utilizar esta funcionalidade. + + + Procurar + + + Procurar por: + + + Procurar + + + Mostrar Ajuda + + + Utilizar ajuda externa + + + Eu quero usar ajuda local + + + Eu quero usar ajuda na internet + + + Numéro de bytes por linha + + + Ver + + + Elementos + Adicionar para favoritos de Ajuda @@ -5245,18 +5305,6 @@ Vá a 'Opções -> Estilo Visual' e altere o ambiente de linguagem actual. Todos os formatos conhecidos de projecto - - Encontrado projecto Visual Studio.NET. Devo converter o mesmo numa Solução Formato 9.00 (Visual Studio 2005)? - - - Encontrado Projecto Visual Studio.NET 2003. Devo converter o mesmo numa Solução Formato 9.00 (Visual Studio 2005)? - - - Deve o combine SharpDevelop 1.x ser convertido numa solução SharpDevelop 2.x? - - - Deve o projecto SharpDevelop 1.x ser convertido num projecto SharpDevelop 2.x? - Havia ficheiros de recursos no projecto. SharpDevelop 2 compila os recursos de forma diferente: o nome do recurso não é só o nome do ficheiro, mas é prefixado à raiz do espaço de nomeação e ao nome da pasta. @@ -6253,7 +6301,7 @@ Os ficheiros de recursos foram renomeados/movidos em conformidade. Abrir um novo buffer - + &Solução… diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx index 1b0e5e1330..b1eec43930 100644 --- a/data/resources/StringResources.resx +++ b/data/resources/StringResources.resx @@ -5642,6 +5642,14 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs Goto previous bookmark + + {0} @line {1} + format string for displaying "filename @line #" in the bookmarks pad + + + Location + Column title for the bookmark location + Bookmarks @@ -5751,6 +5759,10 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs Conditional + + Condition + column title for a conditional breakpoint's condition + Continue @@ -6381,6 +6393,17 @@ Removed the end part of the original message ", reason '${Message}'" since this Delete all web references Title of the dialog box when the user tries to remove all web references. + + Select Reflector path + Button to select the Reflector path + + + Reflector was found in the following directory: + + + Reflector + Title of Reflector path option panel + Open .NET Reflector @@ -6824,6 +6847,10 @@ Removed the end part of the original message ", reason '${Message}'" since this All known project formats + + This SharpDevelop version cannot load projects created using Visual Studio .NET 2003 (or earlier). +Try using SharpDevelop 3.2 for the conversion; or create a new project and add the existing source code files. + Could not save {0}:\n{1} {0} is the name of the solution. @@ -6839,18 +6866,6 @@ Message shown when Solution.Save() is called on a solution with the ReadOnly att {0} is the file name of the solution. {1} is the value of the property UnauthorizedAccessException.Message. - - Found Visual Studio.NET Project. Should I convert it to Solution Format 9.00 (Visual Studio 2005)? - - - Found Visual Studio.NET 2003 Project. Should I convert it to Solution Format 9.00 (Visual Studio 2005)? - - - Should the SharpDevelop 1.x combine be converted into a SharpDevelop 2.x solution? - - - Should the SharpDevelop 1.x project be converted into a SharpDevelop 2.x project? - There were resource files in the project. SharpDevelop 2 compiles resources different: the resource name is not just the file name; but it is prefixed with the root namespace and the directory name. @@ -7832,6 +7847,10 @@ The resources files have been renamed/moved accordingly. Can not perform action because process is running. + + Remove all breakpoints + Main menu command for removing all breakpoints + tooltip for the corresponding toolbar button (in the breakpoints pad) + Run &without debugger @@ -8003,6 +8022,9 @@ The resources files have been renamed/moved accordingly. Open new buffer + &Project... + + &Solution... diff --git a/data/resources/StringResources.ro.resx b/data/resources/StringResources.ro.resx index 00880862a5..465103b632 100644 --- a/data/resources/StringResources.ro.resx +++ b/data/resources/StringResources.ro.resx @@ -3402,18 +3402,6 @@ Toate modificările se vor pierde. Toate formatele de proiect cunoscute - - Proiectul este în format Visual Studio.NET. Doriţi convertirea lui în Solution Format 9.00 (Visual Studio 2005)? - - - Proiectul este în format Visual Studio.NET 2003. Doriţi convertirea lui în Solution Format 9.00 (Visual Studio 2005)? - - - Combinaţia SharpDevelop 1.x ar trebui convertită într-o soluţie SharpDevelop 2.x? - - - Proiectul SharpDevelop 1.x ar trebui convertit într-un proiect SharpDevelop 2.x? - Următoarele fişiere nu pot fi redenumite/mutate automat: @@ -4191,7 +4179,7 @@ Toate modificările se vor pierde. Deschidere memorie tampon nouă - + &Soluţie... diff --git a/data/resources/StringResources.ru.resx b/data/resources/StringResources.ru.resx index 66305d2d48..9e24d1ba69 100644 --- a/data/resources/StringResources.ru.resx +++ b/data/resources/StringResources.ru.resx @@ -678,6 +678,9 @@ Добавить проверку диапазона + + Выберите все поля создаваемого конструктора с: + Переменная @@ -753,6 +756,9 @@ '{0}' был удалён из чёрного списка. + + Держать старое решение открытым + Заблокировать @@ -795,6 +801,9 @@ Вернуть + + Граф ревизий + Сохранить файлы @@ -817,6 +826,12 @@ Обновить до версии + + Благодарим Вас за участие! Вы всё ещё можете отказаться с помощью настроек SharpDevelop. + + + Я хотел бы принимать участие - собирать и передавать данные об использовании + Редактировать колонки и строки таблицы @@ -956,6 +971,15 @@ Распределить для + + Приведение + + + Привести к + + + Ошибка при определении типа приведения + Категории компонентов @@ -1007,6 +1031,9 @@ Показать + + Показать члены объекта в категории основного класса + Только открытые члены @@ -1073,12 +1100,18 @@ Уровни + + Посмотреть на: + Совпадение Ничего не найдено + + Пожалуйста, выберите Узел Дерева + Имя @@ -1094,6 +1127,9 @@ Пожалуйста, выберите одно или оба Имени или Значения во время поиска в дереве объекта. + + Вам нужно выбрать узел в дереве {0}; поиск будет начат с этого узла. + Показать компонент @@ -1109,6 +1145,9 @@ Культура + + Глобальное имя сборки + Открыть @@ -1133,6 +1172,17 @@ Получить свойство + + Инспектор может просматривать или управлять любым ActiveX/COM-объектом. + +Обзор COM объектов работает с помощью дерева объектов слева. Для вызова метода щелкните правой кнопкой мыши на члене дерева объектов. + +Просмотрите список установленных компонентов COM во вкладке ActiveX/COM. + +Откройте библиотеку типов или файл элемента управления с помощью меню "Открыть". + +Для создания/манипулирования ActiveX/COM-объектами, перетащите класс Библиотеки типов/Элемента управления в дерево объектов или конструктор. + Показывать это окно @@ -1262,6 +1312,9 @@ значение + + Добавление запускаемых объектов COM + Подождите, пока я добавлю запущенные объекты COM @@ -1301,6 +1354,9 @@ Ожидание запуска приложения + + Вставка ссылки на явный метод; чтобы вставить новую заглушку метода ещё раз нажмите клавишу TAB или Enter. + Вставить анонимный метод без параметров. @@ -1397,6 +1453,9 @@ Правка платформ проекта + + Правка конфигурации решения + Править платформы решения @@ -1406,6 +1465,9 @@ Укажите новое имя: + + Неправильное имя. + Экспортировать в HTML @@ -1775,7 +1837,7 @@ Создать файл внутри проекта - Создать отдельный файл + Создать автономный файл Добавить файл в проект? @@ -2269,6 +2331,9 @@ Для сохранения использовать временный файл + + Кодировка файла по умолчанию: + Обнаруживать изменения файлов внешними программами @@ -2308,6 +2373,9 @@ Переносить длинные строки + + Профили + Неверный путь к указанному проекту @@ -2320,6 +2388,9 @@ Количество проектов при параллельном построении: + + Расположение проекта по умолчанию: + Выберите расположение проекта по умолчанию @@ -2633,6 +2704,12 @@ Локализованная строка файла: + + Манифест приложения: + + + Нет внедрённых манифестов + Файлы Manifest @@ -2714,6 +2791,9 @@ Нет + + Определённые предупреждения: + Уровень предупреждений: @@ -2795,6 +2875,9 @@ Платформозависимое + + Пожалуйста, введите правильный номер. + Импорт @@ -2882,9 +2965,21 @@ Точное имя для подписи + + С помощью маленькой кнопки перед каждой устанавливаемой настройкой, вы можете выбрать место для хранения настроек. +Зависимые от конфигурации средства настройки могут иметь различные значения для каждой конфигурации (Debug/Release). +Зависимость от конфигурации означает то, что настройка может иметь различные значения для каждой платформы. +Вы также можете хранить настройки в файле .user-file вместо файла проекта, поэтому каждый разработчик может использовать своё значение, избегая конфликтов в системах управления версиями. + + + Хранение в .user-file + Добавить интерфейс в класс + + Сгенерированное имя + Включить комментарии @@ -3191,6 +3286,9 @@ Открыть + + Открыть папку в Проводнике + Открыть с помощью... @@ -3203,6 +3301,9 @@ Программа: + + Использовать для этого файла стандартное приложение Windows + Редактор иконок @@ -3341,12 +3442,18 @@ Запуск команды в отлаженной программе + + SharpDevelop не может найти FxCop. Пожалуйста, выберите в настройках SharpDevelop установочную папку FxCop + Mono не установлена. Запущен анализатор кода... + + Неизвестная версия Mono Framework: + Анализ кода @@ -3419,6 +3526,9 @@ Строка + + Цвета сокрытия кода + Команда: @@ -3431,6 +3541,9 @@ Цвет компонента: + + Конфигурация NCover + ААБбВвЭэЮюЯя @@ -3443,6 +3556,12 @@ Включить + + Выполнение прикрытия кода... + + + Выполнить тесты с прикрытием кода + Запустить с прикрытием кода @@ -3656,6 +3775,9 @@ Файлы Python + + Файлы проектов Python + Отправить строку в консоль Python @@ -3731,6 +3853,9 @@ Выберите поля для генерации установщиков + + Создание метода ToString() по умолчанию + Выберите свойства для включения в описание @@ -3770,12 +3895,18 @@ ${ErrorCount} ошибка(ок) преобразования ${FileName}: + + Сначала исправьте ошибки в исходном коде (только правильный исходный код может быть преобразован). + ${FileName} не преобразован: При разборе найдено ${ErrorCount} ошибок(ки) + + Преобразователь проекта SharpDevelop + Исходная папка @@ -3785,6 +3916,9 @@ Целевая папка + + Преобразование проекта было успешно завершено. Найти преобразованный проект можно здесь: + Из C# в Boo @@ -3815,12 +3949,18 @@ Ссылки + + Невозможно прочитать описание веб-службы. Url='{0}' + Компоненты решения Решение + + Файл больше не может быть найден. + Вы уверены, что хотите перезагрузить файл? Все изменения будут утрачены? @@ -3855,6 +3995,9 @@ (достигнут конец документа) + + Искать в обратном порядке: + Ошибка загрузки информации завершения кода для ${Assembly} из ${Filename}: @@ -3882,6 +4025,9 @@ Невозможно десериализовать форму. Возможная причина: метод InitializeComponent был изменён вручную. + + Невозможно создать корень конструктора для компонента '${RootComponent}' + Ошибка при загрузке среды разработки: @@ -3945,6 +4091,9 @@ Удалить компоненты + + Вы действительно хотите удалить выбранные компоненты из категории? + Переименовать @@ -3969,6 +4118,9 @@ Сгенерированный код + + В коде пометить метод InitializeComponents как "Только для чтения" + Главная @@ -4017,12 +4169,21 @@ Вставьте комментарий "TODO" в обработчики новых событий + + Связывание свойства (быстрее для небольшого числа свойств, но значительно хуже для большого числа свойств) + Локализационная модель по умолчанию + + Разрешить локализационной модели существование неизменяемых форм + Модель локализации + + Свойство отражения (медленнее во время выполнения для нескольких свойств, но значительно лучше при большом числе свойств, особенно со многими значениями по умолчанию) + Дизайнер форм @@ -4041,6 +4202,9 @@ Показать компоненты + + Вы пытаетесь добавить компонент, который приведет в циклической зависимости. + Не удалось загрузить дизайнер. Проверьте исходный код на наличие ошибок, а также доступность всех ссылок. @@ -4126,6 +4290,9 @@ Недопустимое имя проекта: имя проекта не может завершаться символом '.'. + + Запрещённое имя проекта: имя проекта должно начинаться с буквы. + Вы должны определить правильный абсолютный путь к проекту. @@ -4162,6 +4329,9 @@ Инструмент не найден + + Открытие учетных данных + Домен: @@ -4189,6 +4359,9 @@ Показать описание + + Сброс не удался. Причина: сброс значения может не иметь смысла, поскольку изменено другое свойство. + Разбор @@ -4222,6 +4395,9 @@ Культура + + Культура поддерживается ссылкой + Локальная копия @@ -4291,6 +4467,9 @@ Изменить целевой framework: + + Изменение версии выбранных проектов + Версия компилятора @@ -4306,6 +4485,10 @@ Обновление проекта + + Это решение было создано с помощью предыдущей версии SharpDevelop. +Возможно, вы захотите, преобразовать его так, чтобы использовать новый язык или новые возможности framework'a. + Отметить все выполненные. @@ -4375,6 +4558,12 @@ Культуры: + + Подавлять ICE: + + + Считать предупреждения ошибками: + Целевой путь WiX: @@ -4387,6 +4576,9 @@ Переменные WiX: + + В документе не удалось найти диалог с id '{0}'. + Расширение должно иметь вид класса, сборки @@ -4412,6 +4604,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Добавить файлы... + + Не удаётся найти файлы установщика. Файлы WiX содержат ошибки. + Файл WiX (.wxs) не найден в проекте '{0}'. @@ -4424,6 +4619,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Добавить файлы... + + Предобработка + Добавить расширение WiX @@ -4454,6 +4652,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Отсутствует требуемый атрибут '{0}'. + + В документе Wix не выбранных диалогов установщика. Пожалуйста, наведите курсор на элемент диалогового окна или используйте окно Диалоги Установщика для открывания диалогового окна. + Инструменты администратор @@ -4670,6 +4871,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Добавить дочерний элемент... + + Добавить дочерний текстовый узел + Вставка комментария после @@ -4682,6 +4886,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Вставка элемента перед... + + Вставка текста узла после + Вставить текст узла перед @@ -4763,6 +4970,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Сборка завершена: ошибок: ${Errors}, предупреждений ${Warnings} + + Пропущено ${Name} (со стороны SharpDevelop не было изменений) + SharpDevelop @@ -4796,6 +5006,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Перейти к предыдущей закладке + + {0} @line {1} + + + Расположение + Закладки @@ -4820,6 +5036,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Поиск + + Производные типы + Вперёд @@ -4868,6 +5087,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Условие + + Состояние + Продолжить @@ -4883,6 +5105,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Язык сценария + + Править сценарий отладчика + Прекратить @@ -4898,12 +5123,21 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Продолжить + + Скрыть подробности об Исключении + + + --- Конец трассировки стека внутреннего исключения --- + в {0} как {0} в {1}:строка {2} + + Показать подробности об Исключении + Прервать @@ -4997,6 +5231,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Запуск до курсора + + Установить текущий оператор + Отсоединить от процесса или завершить его? @@ -5009,6 +5246,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Невозможно сделать шаг, так как отсутствует активная выбранная функция + + Вы не можете переключать потоки пока включён отладчик. + Заморозить @@ -5042,6 +5282,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Добавить Наблюдателя + + Неправильное расширение: {0} + Обновить @@ -5063,9 +5306,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< ${TaskService.Messages} предупреждений + + Выберите сообщения, отображаемые в списке. + ${TaskService.Warnings} предупреждений + + Выберите предупреждения, отображаемые в списке. + CD @@ -5171,6 +5420,15 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Очистить результаты + + Развернуть все проблемы + + + Развернуть список всех игнорируемых + + + Развернуть список текущих проблем + Дерево @@ -5243,6 +5501,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Копировать путь/имя файла + + Открыть папку в Проводнике + Добавить существующие файлы @@ -5294,6 +5555,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Исключить из проекта + + Выполнить пользовательский инструмент + Существующая папка... @@ -5372,9 +5636,24 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Вы действительно хотите удалить из проекта все веб-ссылки {0}? + + Удалить все веб-ссылки + + + Выберите путь отражателя + + + Отражатель был найден в следующей папке: + + + Отражатель + Открыть Отражатель .NET + + Отражатель не может быть найден в указанном месте, или SharpDevelop не имеет достаточных прав для доступа к нему. + Путь к отражателю не определен. @@ -5384,6 +5663,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Полный путь к Reflector.exe + + Эта функция требует Красные ворота в отражателе .NET. Если у вас его ещё нет, то вы можете бесплатно скачать его здесь: + Установить путь к Отражателю @@ -5516,6 +5798,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Невозможно загрузить ресурс + + Генератор кода ресурсов: невозможно создать свойство для ресурса '{0}'. + Содержание @@ -5750,6 +6035,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Лицензии + + Нет доступных для текущего документа инструментов. + XSLT @@ -5759,11 +6047,8 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Не удалось сохранить {0}:\n{1} - - Найден проект Visual Studio.NET. Должен ли я преобразовать его в Решение формата 9.00 (Visual Studio 2008)? - - - Найден проект Visual Studio.NET 2003. Должен ли я преобразовать его в решение формата 9.00 (Visual Studio 2008)? + + Невозможно сохранить файл решения {0}. Он помечен как "Только для чтения". В проекте существуют файлов ресурсов. @@ -5928,6 +6213,9 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Удалить узел + + Переключить порядок сортировки + Удалить узлы @@ -5985,6 +6273,9 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес DataField + + DataRow + Номер страницы @@ -6243,6 +6534,9 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Параметры + + Реализует ConfigurationCollection для хранения недавно открытых файлов в приложении. + Коллекция недавних файлов @@ -6315,9 +6609,15 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Пользовательский элемент управления + + Поток документов WPF + Страница WPF + + Функция страницы WPF + Словарь ресурсов WPF @@ -6333,6 +6633,9 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Окно WPF + + Пустой фрагмент файла для WiX + Создаёт пустой диалог установки. @@ -6429,6 +6732,12 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Инсталлятор + + Создает общие надстройки для приложений COM. + + + Общие надстройки + Шаблон проекта для быстрого создания надстройки SharpDevelop @@ -6441,12 +6750,18 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Пункт меню инструментов + + Проект, который создает приложение Silverlight. + Приложение Silverlight Проект, который создает приложения со значком в области уведомлений на панели задач. + + Приложение NotifyIcon + Проект для создания пользовательского элемента управления, который используется в Windows-приложении. @@ -6483,6 +6798,9 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Создает простое приложение WPF с одной страницей навигации. + + Навигационное приложение WPF + Создать новый отчёт с помощью Мастера отчётов @@ -6558,21 +6876,42 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Невозможно получить версию программы .NET Framework. Убедитесь в том, что программа является управляемой сборкой. + + Невозможно подключиться к процессу. + Невозможно запустить процесс. + + Не удалось выполнить действие, поскольку отлаживаются некоторые процессы. + Невозможно запустить отладчик SharpDevelop, так как ядро отладчика включено. Для выключения ядра отладчика, удалите ключ "/debug" из файла Boot.ini и перезапустите свой компьютер. Отладка программ .NET Framework 1.0 не поддерживается. + + Не удалось выполнить действие, поскольку ни один процесс не отлажен. + + + Не удалось выполнить действие, поскольку процесс приостановлен. + + + Не удалось выполнить действие, поскольку запущен процесс. + + + Удалить все точки останова + Запустить без отладчика Запускает программу без присоединённого отладчика + + Шаг в + Шаг вперёд @@ -6643,7 +6982,7 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Удалить начальные пробельные символы - Удалить конечные пробельные символы + Удалить конечные пробелы Сортировать строки... @@ -6723,7 +7062,7 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Создать новый файл - + Решение... @@ -6771,6 +7110,9 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Сохранить как... + + Сохранить с декодированием... + Формат @@ -6991,6 +7333,9 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Заменить... + + Обратный последовательный поиск + Переключить закладку diff --git a/data/resources/StringResources.se.resx b/data/resources/StringResources.se.resx index 9591c39f57..ca29f4b279 100644 --- a/data/resources/StringResources.se.resx +++ b/data/resources/StringResources.se.resx @@ -4206,18 +4206,6 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö Kunde inte spara {0}:\n{1} - - Hittade Visual Studio.NET projekt. Skall jag konvertera det till Solution Format 9.00 (Visual Studio 2005)? - - - Hittade Visual Studio.NET 2003 projekt. Skall jag konvertera det till Solution Format 9.00 (Visual Studio 2005)? - - - Skall SharpDevelop 1.x samlingen konverteras till en SharpDevelop 2.x samling? - - - Skall SharpDevelop 1.x projektet konverteras till ett SharpDevelop 2.x projekt? - Det finns resursfiler i projektet. SharpDevelop 2 kompilerar resurser lite annorlunda: resursnamnet består inte enbart av filnamnet utan börjar med rot namespace följt av mappnamnet. @@ -5079,7 +5067,7 @@ Resursfilerna har därför bytt namn/flyttats enligt ovan. Öppna ny buffert - + &Samling... diff --git a/data/resources/StringResources.tr.resx b/data/resources/StringResources.tr.resx index 2cc5ff87d3..043df070ea 100644 --- a/data/resources/StringResources.tr.resx +++ b/data/resources/StringResources.tr.resx @@ -232,6 +232,15 @@ Sınıf Şemasını Göster + + Tek satırdaki bayt + + + Gösterim + + + Sayısal sistem + Geçerli genişliğe sığdırmak için boyutlandır @@ -521,6 +530,16 @@ Yardım sistemini elde edebilmek için .NET Framework SDK 'yı yüklemelisiniz.< Kontrolü yenile + + Katılmak istiyorum. Kullanım bilgilerini topla ve gönder + + + Katılmak istemiyorum + + + Yardım talep ediyoruz! SharpDevelop'ı gelecekte de geliştirebilmek için; En çok kullanılan özelliklerinin hangileri olduğunu bilmek istiyoruz. +SharpDevelop bu bilgileri otomatik olarak toplayıp gönderebilir. + Uzantu tamamlamasını kullan @@ -566,6 +585,9 @@ Yardım sistemini elde edebilmek için .NET Framework SDK 'yı yüklemelisiniz.< Çalışan COM Nesnelerini Yenile + + TypeLib kaydet + Favorilerimden çıkar @@ -766,9 +788,15 @@ Olayları kayıt etmek için, Nesneler panelinden bir nesne yada olay seçip, ya Kültür + + Global Bileşke İsmi + &Aç + + Umumi Anahtar + Versiyon @@ -888,6 +916,9 @@ To create/manipulate a ActiveX/COM object, drag a class within a TypeLib/Control Taban nesne kategorilerini göster + + Taban sınıf üyeleri + Taban nesne adları @@ -909,6 +940,9 @@ To create/manipulate a ActiveX/COM object, drag a class within a TypeLib/Control İşlevler + + Taban sınıf kategorisindeki nesne üyelerini göster + Nitelikler @@ -1568,6 +1602,9 @@ Ek olarak, bir ölçüm aralığı, içerisinde karmaşık biçimlemeye izin ver Tanımlama + + Lütfen, dosya uzantıları listesini, noktalı virgül ile ayrılmış bir liste olarak girin(Örnek: .h;.c;.cpp) + &Tanımlama @@ -1580,6 +1617,9 @@ Ek olarak, bir ölçüm aralığı, içerisinde karmaşık biçimlemeye izin ver &Uzantılar + + Anahtar kelime haritalama + Grubu &kaldır @@ -2604,6 +2644,9 @@ Ayrıca bir ayarı proje dosyası yerine .kullanıcı-dosyası(.user-file) için Kaydedilirken hata + + Dosya, açmak için çok büyük. + Tasarımdan önce lütfen tüm kaynak kod hatalarını düzeltin @@ -3172,6 +3215,12 @@ Lütfen SharpDevelop Seçeneklerinden NAnt çalıştırılabilir dosyasının ye PInvoke imzaları ekle... + + Python Konsoluna Gönder + + + Ruby Konsoluna Gönder + ${Path} altındaki ${FileNameWithoutPath} dosyası yüklenemiyor. Dosya varlığını ve izin durumunu kontrol et. @@ -3192,6 +3241,9 @@ Başka bir dosya adı seçin veya dizinin var olduğundan ve o konuma dosya yaz Yapılandırıcı + + Yapıcı tarafından ilklendirilecek değişkenleri seçin + OnXXX işlevleri oluşturulacak olayları seçin @@ -3201,9 +3253,15 @@ Başka bir dosya adı seçin veya dizinin var olduğundan ve o konuma dosya yaz Getiren + + Get oluşturulacak değeişkenleri seçin + Getiren ve Atayan + + Get ve Set oluşturulacak değişkenleri seçin + Arayüz gerçekleştirme @@ -3304,6 +3362,9 @@ Not: Bu özel düzenlemeleri etkilemez. '${FileName}' dosyası açılamıyor. Geçerli bir çözüm veya proje dosyası değil. + + SharpDevelop '${SolutionName}' adlı çözümü yükledi, fakat çözüm, '${ProjectName}' isimli projeyi içermiyor. + '${ProjectName}' için yeni bir çözüm oluştur. @@ -3409,6 +3470,9 @@ Not: Bu özel düzenlemeleri etkilemez. Kök tasarımcısı Windows Forms görünüm teknolojisini desteklemiyor. + + Tasarımcı yüklenirken hata: + Tümleşke @@ -3797,6 +3861,21 @@ Sadece harf,rakam, boşluk, '.' yada '_' kullanabilirsiniz. Yüklüyor ${Filename}... + + Derleyici Sürümü + + + Dönüştür + + + <değiştirmeyin> + + + Hedef Çatı + + + Proje Yükseltmesi + Şu anki ortam bulunamadı. 'Seçenekler->Görsel Biçim' e gidin ve şu anki dil ortamını değiştirin. @@ -3822,6 +3901,9 @@ Sadece harf,rakam, boşluk, '.' yada '_' kullanabilirsiniz. Birimi test tepsisinde çalıştır + + Şu anki projedeki testleri çalıştır + Kod kapsama ile çalıştır @@ -3846,12 +3928,21 @@ Sadece harf,rakam, boşluk, '.' yada '_' kullanabilirsiniz. Uzantılar + + ICE'leri bastır + Uyarılara hata muamelesi yap: WiX MSBuild uzantı yolu + + WiX hedefleri konumu: + + + WiX görevleri konumu: + WiX konumu: @@ -3894,6 +3985,9 @@ Sadece harf,rakam, boşluk, '.' yada '_' kullanabilirsiniz. Önişleme + + WiX Uzantısı Ekle + WiX Kütüphanesi Ekle @@ -4320,6 +4414,9 @@ Sadece harf,rakam, boşluk, '.' yada '_' kullanabilirsiniz. Hatanın önü kesilemedi. Hatası ayıklanan program daha fazla devam edemez. + + {0} üzerinde {1} içinde : satır {2} + {0} istisnası hata ayıklama için atıldı: @@ -5142,18 +5239,6 @@ Sadece harf,rakam, boşluk, '.' yada '_' kullanabilirsiniz. Bilinen bütün proje formatları - - Visual Studio.NET projesi bulundu. Solution Format 9.00'a (Visual Studio 2005) dönüştürülsün mü? - - - Visual Studio.NET 2003 Projesi bulundu. Bunu 9.00 Çözümüne(Visual Studio 2005) çevirmek ister misiniz? - - - SharpDevelop 1.x birleştirmesinin SharpDevelop 2.x çözümüne çevrilsin mi? - - - SharpDevelop 1.x projesi SharpDevelop 2.x projesine çevrilsin mi? - Projede kaynak dosyaları vardı. SharpDevelop 2 kaynakları farklı bir biçimde derler: kaynak adı sadece dosya adı değildir; başında kök isim boşluğu ve dizin adıda vardır. @@ -6009,6 +6094,9 @@ Kaynak dosyaları buna göre yeniden adlandırıldı/taşındı. Programın .NET Framework sürüm numarası bulunamadı. Programın yönetilen bileşke olup-olmadığını kontrol edin. + + İşlem başlatılamıyor. + Hata ayıklama işlemi sürdüğünden eylem gerçekleştirilemedi. @@ -6135,6 +6223,12 @@ Kaynak dosyaları buna göre yeniden adlandırıldı/taşındı. &Yapıştır + + Yorum olarak kopyala + + + Metin olarak kopyala + Panodan metni yapıştır @@ -6189,7 +6283,7 @@ Kaynak dosyaları buna göre yeniden adlandırıldı/taşındı. Yeni tampon aç - + Çözüm... diff --git a/data/resources/StringResources.zh.resx b/data/resources/StringResources.zh.resx index 5a27e5d96e..43572e5766 100644 --- a/data/resources/StringResources.zh.resx +++ b/data/resources/StringResources.zh.resx @@ -473,6 +473,18 @@ 合并节点 + + {0}的所有函数 + + + 无法打开选中的分析会话,因为它是由新版本的SharpDevelop创建的. + + + SharpDevelop分析会话 + + + 找不到可执行文件项目无法启动,请确认项目和它的依赖项是否已生成! + 没有找到启动项目。正在中止... @@ -480,7 +492,7 @@ 这个项目不是可启动项目。您需要用解决方案中的可启动项目来代替吗? - 准备分析... + 正在分析... 无法注册探查器到COM注册表。不能启动探查器! @@ -488,6 +500,9 @@ 不能从COM注册表撤销探查器! + + 分析 + 结合递归调用。 @@ -516,10 +531,10 @@ 分析 - 当前项目简介 + 分析当前项目 - 选择一个可执行文件到控查器 + 分析指定程序 无效数据,请重试! @@ -527,20 +542,37 @@ 命令行参数: + + 选择您要分析的程序。 +可以指定工作目录和命令行参数. + + 可执行文件的路径: + + 开始分析 + + + 分析应用程序 + 工作目录: - 收集数据 + 数据采样 - 关机 + 停止 - 探查器控制窗口 + 分析控制 + + + 调用次数 + + + 调用次数: 清除查询历史 @@ -548,21 +580,36 @@ 复制选中数据 + + 复制调用堆栈 + 查找选定函数的调用 转到定义 + + 以此为根在新建页中打开 + + + 显示函数 + CPU周期: - 执行查询 + 查询 + + + 展开当前目录 名称 + + 概述 + 查询历史 @@ -572,11 +619,32 @@ 显示查询栏 + + %占用父线程 + + + 总消耗时间 + + + 消耗时间/次 + + + 消耗时间(自己) + + + 消耗时间(自己)/次 + 时间: + + 会话分析器 + + + 前20条 + - 刷新视图,请稍候... + 刷新视图,请稍等... 运行探查器 @@ -584,9 +652,37 @@ 提取方法 + + 所选内容包含"break"语句,但未包含封闭语句。请更改选择! + + + 所选内容包含"continue"语句,但未包含封闭语句。请更改选择! + + + 所选内容中的goto语句引用了所选内容外的标签。请更改选择! + 输入新方法的名称 + + 无效的选择!请选择一个有效的范围. + + + + 解析过程中出错!无法提取方法. + + + 目前不支持从{0}里提取方法! + + + 插入构造器 + + + 新增空引用检查 + + + 添加范围检查 + 变量 @@ -602,9 +698,15 @@ 添加${otherMethod}重载 + + 用#region注释代码 + 重写ToString() + + 处理属性: {0} + 用FxCop检验 @@ -614,6 +716,12 @@ 添加到忽略列表 + + 追溯 + + + 分支/标记 + 不能复制这个文件/目录,因为它在subversion中的状态是'{0}'. @@ -623,6 +731,9 @@ 不能移除这个文件/目录,因为它在subversion中的状态是'{0}'. + + 查看更新 + 签出 @@ -632,9 +743,18 @@ 提交 + + 创建补丁 + 删除目录 + + 差异 + + + 编辑冲突 + 无法删除${File} @@ -653,6 +773,12 @@ 保持原解决方案打开 + + 锁定 + + + 已处理冲突 + 合并 @@ -681,18 +807,49 @@ SharpDevelop 检测到项目文件有更新。 您需要重新加载解决方案。 + + 重新定位 + 从忽略列表中删除 + + 该文件刚刚被移动到这个位置,你真的想删除它? + + + 浏览知识库(Repository) + + + 还原 + + + 该文件有本地的修改。你真的要删除它? + + + 修订记录图 + 保存文件 查看日志 + + 版本控制操作会影响到未保存的修改文件。在运行操作之前您必须保存这些文件。 + + + + 切换 + + + 此操作需要安装TortoiseSVN。 + 更新 + + 更新到指定版本 + 谢谢您的支持。您可以随时在选项中关闭此功能。 @@ -717,15 +874,27 @@ 使用数据收集器 + + 编辑网格的列和行 + 没有选择有效元素! + + 属性/事件名称 + 样式名称: 属性值 + + 消除边界 + + + 删除不必要的属性 + <新事件处理程序> @@ -796,6 +965,9 @@ 版本: + + 强制转换 + 复制对象(&C) @@ -814,6 +986,21 @@ 粘贴对象(&P) + + 更新正在运行的COM对象。 + + + 注册类库(TypeLib) + + + 从常用列表中删除 + + + 取消注册TypeLib + + + 附加到进程{0}出错。 + 进程 @@ -826,6 +1013,9 @@ 在当前打开的程序集中找不到类型{0} + + 组件类别 + @@ -838,6 +1028,12 @@ 收藏或最近访问的类库 + + 类型库 + + + 选择一个构造函数 + 创建对象(&B) @@ -847,6 +1043,12 @@ 目录 + + 自动获取COM属性 + + + 在启动时获取COM运行时对象 + 其它 @@ -862,6 +1064,9 @@ 只显示公共成员 + + 更少的信息 + 更多信息 @@ -912,12 +1117,18 @@ 查找内容 + + 项目 + 全名 查找: + + 匹配 + 没有找到项目 @@ -939,15 +1150,24 @@ 请选择名称/值 + + 在搜索对象树的时候请选一个或多个名称或值。 + 你必须在树 {0} 上选择一个节点;将从那个节点开始查找。 显示项目 + + 以此打头: + 查找 + + 文化及语言 + 全局程序集名称 @@ -981,15 +1201,38 @@ 获取属性(&G) + + 监视器可以查看和操控任何ActiveX/COM对象。 + +在左边的对象树中浏览到运行相应对象的COM组件,然后用鼠标右键点击对象的方法即可调用该方法。 + +通过ActiveX/COM选项卡可以浏览已经安装的COM组件。 + +通过打开菜单(Open)可以打开类型库(Type Library)或控件文件。 + +如果要创建和操控Active/COM组件,可以将TypeLib/Control中的类拖到对象树或设计器中。 + + + 显示此对话框 + + + 开始 + 测试模式 + + 关闭程序集(&A) + 查找(&F)... 对象树 + + 打开程序集(&O)... + 调用(激活)方法(&M) @@ -999,6 +1242,12 @@ 输出 + + 参数 + + + 顶层对象 + @@ -1026,12 +1275,18 @@ 选项(&O) + + 面板(&P)... + 帮助(&H)... 跟踪(&T) + + 分类 + 当成员的数量过多时(When number of members exceeds) @@ -1083,6 +1338,9 @@ 选择对象 + + (用空格分开字符串) + @@ -1095,6 +1353,15 @@ 获取{0}信息 + + 正在获取{0}信息,请稍等 + + + 正在载入最近打开过的程序集 + + + 正在打开以前加载过的程序集,请稍等。 + 注册表 @@ -1104,6 +1371,15 @@ 设置属性(&S) + + 组件监控器 + + + 设置追踪级别 + + + 跟踪层级 + 名称 @@ -1114,6 +1390,9 @@ 当前项目文件{0}设置了只读属性。新文件将不能添加到项目中。 + + 程序正在启动请稍等 + 插入无参数未命名方法 @@ -1495,6 +1774,9 @@ 开始字符串不能为空。 + + 起始字符: + 颜色: @@ -1507,6 +1789,9 @@ 结束 + + 结尾字符: + 转义字符: @@ -1611,6 +1896,9 @@ 创建此文件之前请先设置其属性 + + 当前项目文件{0}设置了只读属性。新文件无法加入到这个项目。 + 模板(&T) @@ -1752,6 +2040,9 @@ 说明 + + 有输入用分号分隔的文件扩展名(如:.h;.c;.cs) + 编辑扩展(&E) @@ -2181,6 +2472,12 @@ 当运行: + + 生成修过的项目和与它有关的项目 + + + 只生成修改过的项目 + 不要生成 @@ -2476,6 +2773,21 @@ {0}不是合法的图标文件。 + + 本地化字符串文件: + + + 应用程序清单(&M): + + + 创建不带清单的应用程序 + + + 嵌入带默认设置的清单 + + + 清单文件 + 输出名称: @@ -2495,7 +2807,7 @@ 根名字空间(&R): - 开始目标(&S): + 启动对象(&S): Win32 资源文件(&E): @@ -2644,24 +2956,42 @@ 启动选项 + + 启动外部程序(&E): + 启动项目(&S) + + 工作目录(&W): + 全部调试信息 + + 没有调试信息 + + + 仅.pdb文件 + 没有为此类项目安装对应的项目选项配置器. 平台 + + 特定平台 + 请输入有效的数字. 导入 + + 添加导入(&A) + 命名空间(&N): @@ -2692,9 +3022,21 @@ 选择文件夹 + + 签名 + 更改密码... + + 选择强名称密钥文件: + + + 为ClickOnce签名 + + + 目前不支持对ClickOnce的签名 + 确认密码(&F): @@ -2710,6 +3052,12 @@ Key文件保护密码(&P): + + 仅延迟签名 + + + 延迟签名后,项目将不会运行,也不能进行调试. + 您必须输入密钥文件 @@ -2722,15 +3070,33 @@ 密码的长度不能少于6个字符. + + 为程序集签名(&A) + 没有找到sn.exe. 请确认您的计算机上已经安装了.Net Framework SDK. + + 强名称签名 + 每个配置项前的小按钮可用于选择保存配置的位置. '配置相关'表示设置在每种配置(调试/发布)都有不同的值. '平台相关'表示设置在不同的平台下有不同的值. 你也可以选择保存配置信息到.user文件中而不是项目文件中,以便不同的开发人员即使使用同一个源码管理器也可以有自己的设置. + + 储存在.user-file + + + 新增接口类 + + + 生成名称 + + + 包括备注信息 + 接口名称 @@ -2752,6 +3118,9 @@ 添加引用 + + 选择特定程序集的版本 + 引用名称 @@ -2950,6 +3319,9 @@ 上移(&U) + + 不可用(N/A) + 名称 @@ -3026,7 +3398,7 @@ 打开 - 在资源管理器中打开文件夹 + 打开所在的文件夹 打开方式... @@ -3077,28 +3449,58 @@ 显示所有文件 - 添加新的字符串资源为{0} + 添加新字符串到{0} <新增> + + 您确定要从资源文件中删除${Count}个选的资源以及依赖文件吗? + + + 您确定要从资源文件"${FileName}" 中删除"${Key}" 资源以及依赖文件吗? + - 编辑字符串资源 + 编辑字符串 + + + 此资源名称已存在! + + + 资源名称不能为空! 在处理资源文件'{0}'时发生了错误. - 查找丢失的资源键 + 查找丢失的资源名称 - 查找未使用的资源键 + 查找未使用的资源名称 + + + 资源名称 + + + 资源名称: + + + 在文件"{1}"中没有找到资源"{0}" . + + + 引用资源缺失 + + + 引用到${ResourceKey} (在${ResourceFileName}中) - 没有查到该资源键或已被改名。 + 没有查到该资源名称或已被改名。 - 输入新的资源键名称。 + 输入新的资源名称: + + + 选定资源不是字符串,无法编辑。 添加此资源 @@ -3112,18 +3514,33 @@ <键未找到> + + 资源在{0}: + 对象类型{0}: <未知> + + 隐藏ICSharpCode.Core系统资源 + + + 选定时,ICSharpCode.Core的系统资源将不会显示在列表中。 + - 在整个解决方案中没有找到未使用的资源键。 + 在整个解决方案中没有找到未使用的资源。 + + + 未使用的资源 + + 值: + 请按Ctrl+Space显示所有命名空间中的项目。 @@ -3133,21 +3550,33 @@ 错误: 调试器尚未就绪 + + 错误:"调试器不兼容" + 错误: 没有被调试的程序 + + 调试 + 在调试的程序中执行命令 SharpDevelop 找不到 FxCop。请在SharpDevelop的选项中选择FxCop的安装目录。 + + 无法读取FxCop日志文件: + Mono没有安装。 正在运行代码分析... + + 未知的Mono版本: + 代码分析 @@ -3205,6 +3634,12 @@ 禁止消息 + + 覆盖到的代码 + + + 未覆盖到的代码 + @@ -3239,9 +3674,27 @@ 背景色(&K) + + 项的前景色(&R) + + + NCover配置 + + + AaBbCcXxYyZz + 要监视的程序集(&A) + + 排除属性 + + + 排除 + + + 包括 + 正在执行代码覆盖率... @@ -3290,15 +3743,30 @@ 连接器 + + 连接附加文件 + + + 连接指定的.NET模块 + 生成调试信息 + + 库文件位置 + + + 嵌入.NET资源文件 + 预处理器 定义以下预处理器符号 + + 头文件位置 + 符号 @@ -3414,9 +3882,15 @@ 全部 + + 插入PInvoke签名 + 查找 + + 函数: + 插入 @@ -3429,6 +3903,12 @@ 更多信息 + + 语言'{0}'未找到签名. + + + 签名未找到。 + 插入PInvoke标签... @@ -3456,6 +3936,9 @@ 找不到类型'{0}'。是否缺少程序集引用? + + 选中的对象不是类或者可重载的成员方法,因此无法显示派生属性。 + 发送行到Ruby控制台 @@ -3492,6 +3975,9 @@ 生成Equals和GetHashCode方法 + + Getter方法 + 选择生成Getter方法的字段 @@ -3616,6 +4102,9 @@ 为项目'${ProjectName}'创建一个新的解决方案 + + 不能打印此窗口的内容. + 无法创建打印文档 @@ -3631,6 +4120,9 @@ 引用 + + 无法读取Web服务的描述.地址='{0}' + 解决方案项 @@ -3644,6 +4136,9 @@ 你确定你要载入这个文件? 所有的修改都丢失。 + + 生成语言${LanguageBinding}不能编译${FileName}. + 文件已保存 @@ -3653,6 +4148,9 @@ 文件已保存 + + 转到项目浏览器中该文件的位置 + 由VB.NET转换成C# @@ -3665,9 +4163,18 @@ 文件${File}已在外部修改过,要重新载入吗? + + 增量搜索: + (没找到) + + (已经到文档末尾) + + + 反向增量搜索: + 继续 @@ -3737,6 +4244,9 @@ GAC + + 程序集${Name}不包含任何组件. + 文件名(&F) @@ -3848,6 +4358,9 @@ 在新事件处理程序中加入注释"TODO" + + 指派属性 (数量少时很快,但数量很大时可扩展性很差) + Localization Model @@ -3872,6 +4385,12 @@ 您添加的组件将导致组件间的循环依赖. + + Exception while creating the component for the Forms Designer (a component has thrown an exception in the constructor). +THIS DOES NOT AFFECT THE SOURCE CODE. +为窗体设计器创建控件时引发了异常(一个控件的构造函数中发生了异常)。 +说明:此异常不影响源代码。 + 载入设计器出错. 请检查源码是否有符号错误, 以及是否所有有引用都仍然存在. @@ -3892,6 +4411,9 @@ 后退 + + 正在生成 + 添加Web引用 @@ -3913,6 +4435,9 @@ 命名空间(&N): + + 参数 + 属性 @@ -3922,6 +4447,9 @@ 刷新 + + 获取URI + 服务 @@ -3993,9 +4521,15 @@ 降序(&D) + + 未找到工具 + 域名(&D): + + 请提供相应的证书,才能访问此URL地址。 + 密码(&P): @@ -4032,21 +4566,39 @@ 复制到输出目录 + + 设定文件是否要复制到输出目录中 + 自定义工具 + + 指定一个将文件转换到输出的工具。 + + + 自定义工具命名空间 + + + 指定自定义工具在其输出内容中的命名空间。 + 完整的文件路径。 逻辑名 + + 嵌入式资源的名称.如果留空,则自动生成的。 + 别名 文化 + + 此引用支持的语言 + 本地复制 @@ -4062,12 +4614,18 @@ 公共密钥令牌 + + 公钥标记 + 特定版本 指引用是否属于某一特定版本的程序集 + + URL地址 + 版本 @@ -4083,6 +4641,9 @@ 在路径${combineLocation}上已存在一个解决方案的文件, 您想覆盖已存在的文件吗? + + 无法建立'${type}'类型的项目. + 无法写文件${fileName}. @@ -4098,6 +4659,12 @@ 加载${Filename}... + + 将选中的项目转换到(&P): + + + 切换到新的框架: + 更改选定项目的版本 @@ -4119,10 +4686,17 @@ 这个解决方案是用SharpDevelop的旧版本创建的。 您需要转换为新版本的解决方案,因为它支持新语言或框架的新特性。 + + + 无法找到当前. +请通过'选项->外观效果'来更改当前语言的色调风格. 完成全部标记。 + + 已完成${Count}次替换。 + 所有测试 @@ -4282,6 +4856,12 @@ 应用数据 + + 公共应用程序数据 + + + 公共文件 64 + 通用文件夹 @@ -4324,6 +4904,9 @@ 系统(x64) + + Windows卷标 + WiX扩展 @@ -4348,6 +4931,9 @@ WiX目标文件 + + WiX任务文件 + Visual Studio扩展 @@ -4381,9 +4967,18 @@ 查看XAML + + 名称: + 添加属性 + + 名称: + + + 添加元素 + 指定XSLT(&A) @@ -4402,6 +4997,9 @@ 执行XSL&T + + 选择XML架构 + 验证XML(&V) @@ -4429,6 +5027,12 @@ 前缀(&P): + + 架构(&S): + + + 架构 + 无法添加大纲. 因为命名空间'{0}'已经存在. @@ -4444,6 +5048,36 @@ 无法保存更改. + + 新增属性... + + + 添加子注释 + + + 添加子元素... + + + 插入子文本节点 + + + 在此之后插入注释 + + + 在此之前插入注释 + + + 在此之后插入元素 + + + 在此之前插入元素 + + + 在此之后插入文本节点 + + + 在此之前插入文本节点 + 删除属性 @@ -4528,6 +5162,9 @@ 生成完成 -- ${Errors} 错误, ${Warnings} 警告 + + 跳过${Name} (在SharpDevelop中未更改) + SharpDevelop @@ -4561,6 +5198,12 @@ 转到前一个书签 + + {0}在第{1}行 + + + 位置 + 书签 @@ -4612,6 +5255,9 @@ 全部清除 + + 从这里显示输出信息: + 自动换行 @@ -4627,6 +5273,9 @@ 您无法跳到无符号的方法中. + + [外部方法] + 方法切换 @@ -4669,6 +5318,9 @@ 终止 + + 跟踪 + 控制台 @@ -4681,9 +5333,18 @@ 隐藏异常详细信息 + + --- 内部异常堆栈跟踪的结尾 --- + + + 在{0} + 调试器抛出异常{0}: + + 显示异常详细信息 + 终止 @@ -4762,6 +5423,9 @@ 已加载符号。 + + 排序 + 程序 @@ -4777,6 +5441,9 @@ 对象图 + + 运行到光标处 + 设置当前声明 @@ -4795,6 +5462,9 @@ 调试器在运行时您不能切换线程. + + 冻结 + 冻结(暂停) @@ -4885,6 +5555,9 @@ 我的文档 + + 大小 + 文件 @@ -4912,6 +5585,9 @@ 属性 + + 返回到正常搜索结果 + 清除历史记录 @@ -4925,7 +5601,10 @@ ${Count} 个文件 - 浮动 + 平铺显示所有 + + + ${Count} 个匹配项 @@ -4939,6 +5618,9 @@ 1 个匹配项 + + 按单个文件显示 + 选择搜索模式 @@ -4993,6 +5675,9 @@ 转到定义(&G) + + 给当前选中项目添加一个引用到NUnit + 重新装载测试程序集 @@ -5036,7 +5721,7 @@ 关闭(&L) - 关闭除此之外的所有其它文件(&B) + 除此之外全部关闭(&B) 保存(&A) @@ -5045,10 +5730,10 @@ 另存为(&S)... - 复制文件 路径/名称 + 复制完整路径 - 在资源管理中打开当前文件夹 + 打开所在的文件夹 添加已存在的文件 @@ -5081,7 +5766,7 @@ 添加Web引用 - 成功(&U) + 生成(&U) 清除(&N) @@ -5092,6 +5777,12 @@ 永久删除'${FileName}'? + + 彻底删除文件'${FileName}'及其内容? + + + 您确定要永久删除'${FileName}'和与它相关的文件吗? + 从项目中排除 @@ -5105,7 +5796,10 @@ 你要复制的文件夹到目标目录吗? - 已存在项(&X) + 现有项(&X) + + + 添加现有项和它的依赖项 已存在的项目(&E) @@ -5113,6 +5807,9 @@ 从XML注释中生成文档 + + 请先安装Sandcastle帮助文件生成器,才能根据XML备注信息生成对应的文档。 + HTML输出(&X) @@ -5122,6 +5819,9 @@ 部署 + + 新依赖项... + 新文件夹(&E) @@ -5164,9 +5864,36 @@ 删除所有Web引用 + + 选择Reflector的路径 + + + 反射 + 打开.NET反射 + + 无法在指定的位置找到Reflector,或SharpDevelop没有足够的权限来访问它。 + + + 未设置反射的路径. + + + 反射连接失败. + + + Reflector.exe的完整路径 + + + 此功能需要Red Gate's .NET Reflector软件的支持。如果您没有该软件,您可以在这里免费下载到它: + + + 设置Reflector的路径 + + + 程序集(*.dll)|*.dll + 组件 @@ -5281,6 +6008,9 @@ 非字母字符值 + + 非贪婪星号(匹配) + 空白字符 @@ -5302,6 +6032,9 @@ 无法装载资源 + + 资源代码生成器提示:资源'{0}'无法生成资源属性. + 内容 @@ -5309,7 +6042,7 @@ 添加文件(&F)... - 添加字串入口(&N) + 添加字符串(&N) 复制资源名称 @@ -5408,6 +6141,9 @@ 步骤 + + 已添加流! + ${Name}的基类 @@ -5417,6 +6153,15 @@ 元素不能被重新命名,因为它不是在用户代码中定义的。 + + 在当前光标位置的元素无法重命名. + + + 从${Name}派生的类 + + + 转换为自动属性 + 创建变更事件 @@ -5435,6 +6180,9 @@ 声明类型 + + 展开自动属性 + 提取接口 @@ -5498,6 +6246,9 @@ 引用${Name} + + 删除未使用的import语句(&U) + 重命名 @@ -5549,17 +6300,11 @@ 不能保存{0}:\n{1}\n\n请确保文件可写。 - - 发现Visual Studio.NET 项目。您需要转换它的版本为9.00(Visual Studio 2005)吗? - - - 发现Visual Studio.NET 2003项目。您需要转换它的版本为9.00(Visual Studio 2005)吗? - - - 需要将SharpDevelop 1.x 的解决方案转换为SharpDevelop 2.x 的解决方案吗? - - - 需要将SharpDevelop 1.x的项目转换为SharpDevelop 2.x的项目吗? + + 项目中存在资源文件。 +SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而是以根命名空间和目录名打头的字符串。 + +资源文件已经根据需要重命名或作了移动。 下列文件不能自动被重命名/移动: @@ -5672,6 +6417,9 @@ 字段 + + 新增功能 + 分组/排序 @@ -5723,6 +6471,18 @@ 移除节点 + + 函数 + + + 分组 + + + 参数 + + + 排序 + 报表浏览器 @@ -5786,6 +6546,9 @@ 线条 + + 指针 + 矩形 @@ -5810,6 +6573,15 @@ 报表模型 + + 窗体Sheet + + + 拉取数据 + + + 推出数据 + 报表名称 @@ -5825,9 +6597,15 @@ 删除此文本输入有效的sql语句 + + 推送数据模型 + 有效字段 + + Schema文件(.xsd)的路径 + 保存结果(Schema和数据) @@ -5921,6 +6699,21 @@ Windows应用程序 + + 一个用来实现配置元素的类. + + + 配置元素 + + + 从ConfigurationElementCollection类继承的类 + + + 配置元素集合 + + + 配置部分(Configuration Section) + 空白的类声名。 @@ -5936,6 +6729,12 @@ 异常 + + Gtk#应用程序的窗体。 + + + Gtk#窗体 + 创建一个空白的头文件。 @@ -5948,9 +6747,15 @@ 创建一个空白的 HTML 文件。 + + 一个空的接口声明. + 接口 + + 一个空模块声明. + 模块 @@ -5960,6 +6765,9 @@ MSBuild文件 + + 一个用来扩展"My"命名空间的模板类. + “我的”扩展 @@ -5996,6 +6804,9 @@ 选项 + + 最近的文件集合 + 创建一个空资源文件 @@ -6008,8 +6819,17 @@ 样品类 + + 一个包含Equals()和GetHashCode()方法的结构体. + - 结构(Struct) + 结构体 + + + 一个结构体描述它包含了Equals()和GetHashCode() 方法。 + + + 结构体 空text文档 @@ -6080,6 +6900,12 @@ WPF窗体 + + 创建一个空的安装对话. + + + 空Setup对话框 + 创建一个带有默认控件的安装对话框 @@ -6098,6 +6924,9 @@ 空的安装项目 + + 用于存储应用程序配置和设置的文件。如果您的项目是可执行项目,生成的时候会自动重命名为"应用程序名.exe.config". + App.Config文件 @@ -6107,6 +6936,9 @@ 创建一个空白的 XML 文件。 + + 创建一个空的XML表格. + XML表单 @@ -6152,6 +6984,18 @@ 空项目 + + 一个Glade#应用程序的项目 + + + Glade#应用程序 + + + 一个创建Gtk#应用程序的项目 + + + Gtk#应用程序 + 用于创建 MSI 安装程序的 Windows 安装项目。 @@ -6164,6 +7008,12 @@ 共享插件 + + 快速创建一个SharpDevelop插件项目 + + + SharpDevelop插件 + 用于定义"工具"菜单里的一个使用当前文本编辑器编辑选中的文本的条目的插件模板(AddIn template) @@ -6305,12 +7155,27 @@ 不能启动进程。 + + 无法执行该动作,因为一些程序正在调试。 + 不能启动SharpDevelop调试器,因为已启用了内核调试器。要想禁用内核调试器,请从boot.ini 中移除"/debug"并重新启动电脑。 不支持调试.Net 1.0的应用程序 + + 无法执行该动作,因为没有进程在调试 + + + 无法执行该动作,因为程序已暂停。 + + + 无法执行该动作,因为程序正在运行。 + + + 移除所有断点 + 运行(不调试)(&W) @@ -6480,6 +7345,9 @@ 新建文件 + 项目(&P)... + + 解决方案(&S)... diff --git a/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.ExtensionMethod.png b/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.ExtensionMethod.png new file mode 100644 index 0000000000..e76e2fbf32 Binary files /dev/null and b/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.ExtensionMethod.png differ diff --git a/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.InternalExtensionMethod.png b/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.InternalExtensionMethod.png new file mode 100644 index 0000000000..bc70136ff9 Binary files /dev/null and b/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.InternalExtensionMethod.png differ diff --git a/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.PrivateExtensionMethod.png b/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.PrivateExtensionMethod.png new file mode 100644 index 0000000000..b75a815759 Binary files /dev/null and b/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.PrivateExtensionMethod.png differ diff --git a/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.ProtectedExtensionMethod.png b/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.ProtectedExtensionMethod.png new file mode 100644 index 0000000000..df7038522a Binary files /dev/null and b/data/resources/image/BitmapResources/ClassBrowserIcons/Icons.16x16.ProtectedExtensionMethod.png differ diff --git a/data/resources/image/BitmapResources/build.bat b/data/resources/image/BitmapResources/build.bat index d1cd298b7c..a4aa55564b 100644 --- a/data/resources/image/BitmapResources/build.bat +++ b/data/resources/image/BitmapResources/build.bat @@ -1,3 +1,3 @@ resasm BitmapResources.res -move BitmapResources.resources ..\..\SharpDevelop\Src\Main\StartUp\Project\Resources\BitmapResources.resources +move BitmapResources.resources ..\..\..\..\Src\Main\StartUp\Project\Resources\BitmapResources.resources pause \ No newline at end of file diff --git a/data/templates/file/CSharp/CSharp.UnitTest.xft b/data/templates/file/CSharp/CSharp.UnitTest.xft index 435816c64f..ecb1b7c2b1 100644 --- a/data/templates/file/CSharp/CSharp.UnitTest.xft +++ b/data/templates/file/CSharp/CSharp.UnitTest.xft @@ -53,8 +53,7 @@ #if TEST -<% } %> -using System; +<% } %>using System; using NUnit.Framework; namespace ${StandardNamespace} diff --git a/data/templates/file/VBNet/FileCategorySortOrder.xml b/data/templates/file/VB/FileCategorySortOrder.xml similarity index 100% rename from data/templates/file/VBNet/FileCategorySortOrder.xml rename to data/templates/file/VB/FileCategorySortOrder.xml diff --git a/data/templates/file/VBNet/VBNet.Empty.xft b/data/templates/file/VB/VB.Empty.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Empty.xft rename to data/templates/file/VB/VB.Empty.xft diff --git a/data/templates/file/VBNet/VBNet.EmptyClass.xft b/data/templates/file/VB/VB.EmptyClass.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.EmptyClass.xft rename to data/templates/file/VB/VB.EmptyClass.xft diff --git a/data/templates/file/VBNet/VBNet.Exception.xft b/data/templates/file/VB/VB.Exception.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Exception.xft rename to data/templates/file/VB/VB.Exception.xft diff --git a/data/templates/file/VBNet/VBNet.Forms.Form.xft b/data/templates/file/VB/VB.Forms.Form.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Forms.Form.xft rename to data/templates/file/VB/VB.Forms.Form.xft diff --git a/data/templates/file/VBNet/VBNet.Forms.UserControl.xft b/data/templates/file/VB/VB.Forms.UserControl.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Forms.UserControl.xft rename to data/templates/file/VB/VB.Forms.UserControl.xft diff --git a/data/templates/file/VBNet/VBNet.Interface.xft b/data/templates/file/VB/VB.Interface.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Interface.xft rename to data/templates/file/VB/VB.Interface.xft diff --git a/data/templates/file/VBNet/VBNet.Module.xft b/data/templates/file/VB/VB.Module.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Module.xft rename to data/templates/file/VB/VB.Module.xft diff --git a/data/templates/file/VBNet/VBNet.MyExtensionClass.xft b/data/templates/file/VB/VB.MyExtensionClass.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.MyExtensionClass.xft rename to data/templates/file/VB/VB.MyExtensionClass.xft diff --git a/data/templates/file/VBNet/VBNet.Patterns.Singleton.xft b/data/templates/file/VB/VB.Patterns.Singleton.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Patterns.Singleton.xft rename to data/templates/file/VB/VB.Patterns.Singleton.xft diff --git a/data/templates/file/VBNet/VBNet.Structure.xft b/data/templates/file/VB/VB.Structure.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Structure.xft rename to data/templates/file/VB/VB.Structure.xft diff --git a/data/templates/file/VBNet/VBNet.UnitTest.xft b/data/templates/file/VB/VB.UnitTest.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.UnitTest.xft rename to data/templates/file/VB/VB.UnitTest.xft diff --git a/data/templates/file/VBNet/VBNet.WPFFlowDocument.xft b/data/templates/file/VB/VB.WPFFlowDocument.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.WPFFlowDocument.xft rename to data/templates/file/VB/VB.WPFFlowDocument.xft diff --git a/data/templates/file/VBNet/VBNet.WPFPage.xft b/data/templates/file/VB/VB.WPFPage.xft similarity index 86% rename from data/templates/file/VBNet/VBNet.WPFPage.xft rename to data/templates/file/VB/VB.WPFPage.xft index 3bb8b53b9c..9d1801fac5 100644 --- a/data/templates/file/VBNet/VBNet.WPFPage.xft +++ b/data/templates/file/VB/VB.WPFPage.xft @@ -33,7 +33,7 @@ ${Path} -> Full path of the file --> - @@ -52,16 +52,16 @@ Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media -Namespace ${StandardNamespace} - ''' - ''' Interaction logic for ${FileName} - ''' - Public Partial Class ${ClassName} Inherits Page - Public Sub New() - InitializeComponent() - End Sub - End Class -End Namespace]]> +''' +''' Interaction logic for ${FileName} +''' +Public Partial Class ${ClassName} + Inherits Page + + Public Sub New() + InitializeComponent() + End Sub +End Class]]> diff --git a/data/templates/file/VBNet/VBNet.WPFPageFunction.xft b/data/templates/file/VB/VB.WPFPageFunction.xft similarity index 61% rename from data/templates/file/VBNet/VBNet.WPFPageFunction.xft rename to data/templates/file/VB/VB.WPFPageFunction.xft index dc11e4b809..89dab45de5 100644 --- a/data/templates/file/VBNet/VBNet.WPFPageFunction.xft +++ b/data/templates/file/VB/VB.WPFPageFunction.xft @@ -37,7 +37,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" - x:Class="${StandardNamespace}.${FileNameWithoutExtension}" + x:Class="${FileNameWithoutExtension}" x:TypeArguments="sys:String" Title="${FileNameWithoutExtension}"> @@ -57,40 +57,37 @@ Imports System.Windows.Media.Imaging Imports System.Windows.Navigation Imports System.Windows.Shapes -Namespace ${StandardNamespace} - ''' - ''' Interaction logic for ${FileName} - ''' +''' +''' Interaction logic for ${FileName} +''' - Public Partial Class ${FileNameWithoutExtension} - Inherits PageFunction(Of String) +Public Partial Class ${FileNameWithoutExtension} + Inherits PageFunction(Of String) - Public Sub New() - InitializeComponent() - End Sub + Public Sub New() + InitializeComponent() + End Sub - ' The OnLoaded handler can be run automatically when the class is loaded. To use it, add Loaded="OnLoaded" to the attributes of the root element of the .xaml file and uncomment the following line. - ' Private Sub OnLoaded(sender As Object, e As RoutedEventArgs) - ' End Sub - ' - ' Sample Finish Handler - ' Private Sub OnClickDone(sender As Object, e As RoutedEventArgs) - ' OnFinish(New ReturnEventArgs(Of String)("The return value")) - ' End Sub + ' The OnLoaded handler can be run automatically when the class is loaded. To use it, add Loaded="OnLoaded" to the attributes of the root element of the .xaml file and uncomment the following line. + ' Private Sub OnLoaded(sender As Object, e As RoutedEventArgs) + ' End Sub + ' + ' Sample Finish Handler + ' Private Sub OnClickDone(sender As Object, e As RoutedEventArgs) + ' OnFinish(New ReturnEventArgs(Of String)("The return value")) + ' End Sub - ' To launch this page function, put this code in the launching page. - ' Dim pageFunction As New ${FileNameWithoutExtension}() - ' pageFunction.[Return] += New ReturnEventHandler(Of String)(OnFileNameWithoutExtensionReturned) - ' _NavWin.Navigate(pageFunction) - ' - ' This handler goes in the launching page. - ' Public Sub On${FileNameWithoutExtension}Returned(sender As Object, e As ReturnEventArgs(Of String)) - ' Console.WriteLine("${FileNameWithoutExtension} returned: " & e.Result) - ' End Sub - - - End Class -End Namespace]]> + ' To launch this page function, put this code in the launching page. + ' Dim pageFunction As New ${FileNameWithoutExtension}() + ' pageFunction.[Return] += New ReturnEventHandler(Of String)(OnFileNameWithoutExtensionReturned) + ' _NavWin.Navigate(pageFunction) + ' + ' This handler goes in the launching page. + ' Public Sub On${FileNameWithoutExtension}Returned(sender As Object, e As ReturnEventArgs(Of String)) + ' Console.WriteLine("${FileNameWithoutExtension} returned: " & e.Result) + ' End Sub + +End Class]]> diff --git a/data/templates/file/VBNet/VBNet.WPFResourceDictionary.xft b/data/templates/file/VB/VB.WPFResourceDictionary.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.WPFResourceDictionary.xft rename to data/templates/file/VB/VB.WPFResourceDictionary.xft diff --git a/data/templates/file/VBNet/VBNet.WPFUserControl.xft b/data/templates/file/VB/VB.WPFUserControl.xft similarity index 80% rename from data/templates/file/VBNet/VBNet.WPFUserControl.xft rename to data/templates/file/VB/VB.WPFUserControl.xft index 6990c80a4a..890627bcbc 100644 --- a/data/templates/file/VBNet/VBNet.WPFUserControl.xft +++ b/data/templates/file/VB/VB.WPFUserControl.xft @@ -33,14 +33,14 @@ ${Path} -> Full path of the file --> - ]]> - - ''' Interaction logic for ${FileName} - ''' - Public Partial Class ${ClassName} Inherits UserControl - Public Sub New() - InitializeComponent() - End Sub - End Class -End Namespace]]> +''' +''' Interaction logic for ${FileName} +''' +Public Partial Class ${ClassName} + Inherits UserControl + + Public Sub New() + InitializeComponent() + End Sub +End Class]]> diff --git a/data/templates/file/VBNet/VBNet.WPFWindow.xft b/data/templates/file/VB/VB.WPFWindow.xft similarity index 86% rename from data/templates/file/VBNet/VBNet.WPFWindow.xft rename to data/templates/file/VB/VB.WPFWindow.xft index 1443479ae4..ecb0daedb8 100644 --- a/data/templates/file/VBNet/VBNet.WPFWindow.xft +++ b/data/templates/file/VB/VB.WPFWindow.xft @@ -33,7 +33,7 @@ ${Path} -> Full path of the file --> - @@ -52,16 +52,16 @@ Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media -Namespace ${StandardNamespace} - ' - ' Interaction logic for ${FileName} - ' - Public Partial Class ${ClassName} Inherits Window - Public Sub New() - InitializeComponent() - End Sub - End Class -End Namespace]]> +''' +''' Interaction logic for ${FileName} +''' +Public Partial Class ${ClassName} + Inherits Window + + Public Sub New() + InitializeComponent() + End Sub +End Class]]> diff --git a/data/templates/file/VBNet/VBNet.Web.WebControl.xft b/data/templates/file/VB/VB.Web.WebControl.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Web.WebControl.xft rename to data/templates/file/VB/VB.Web.WebControl.xft diff --git a/data/templates/file/VBNet/VBNet.Web.WebForm.xft b/data/templates/file/VB/VB.Web.WebForm.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Web.WebForm.xft rename to data/templates/file/VB/VB.Web.WebForm.xft diff --git a/data/templates/file/VBNet/VBNet.Web.WebHandler.xft b/data/templates/file/VB/VB.Web.WebHandler.xft similarity index 100% rename from data/templates/file/VBNet/VBNet.Web.WebHandler.xft rename to data/templates/file/VB/VB.Web.WebHandler.xft diff --git a/data/templates/file/VBNet/VBNet.Web.WebService.xft b/data/templates/file/VB/VB.Web.WebService.xft similarity index 70% rename from data/templates/file/VBNet/VBNet.Web.WebService.xft rename to data/templates/file/VB/VB.Web.WebService.xft index b8b5c35a7c..7bbd469ad5 100644 --- a/data/templates/file/VBNet/VBNet.Web.WebService.xft +++ b/data/templates/file/VB/VB.Web.WebService.xft @@ -22,34 +22,26 @@ --> - /// Description of ${ClassName} - /// - [WebService - ( Name = "${ClassName}", - Description = "${ClassName}", - Namespace = "http://www.${ClassName}.example" - ) - ] - public class ${ClassName} : WebService - { - public ${ClassName}() - { - } +''' +''' Description of ${ClassName} +''' + +Public Class ${ClassName} + Inherits WebService + + Public Sub New() - [WebMethod] - public string Status() - { - string s = string.Format("Time: {0}", DateTime.Now); - return s; - } - } -} + End Sub + + _ + Public Function Status() As String + Dim s As String = String.Format("Time: {0}", DateTime.Now) + Return s + End Function +End Class ]]> diff --git a/data/templates/project/VBNet/ConsoleProject.xpt b/data/templates/project/VB/ConsoleProject.xpt similarity index 98% rename from data/templates/project/VBNet/ConsoleProject.xpt rename to data/templates/project/VB/ConsoleProject.xpt index 13b12b3d47..84efc781d8 100644 --- a/data/templates/project/VBNet/ConsoleProject.xpt +++ b/data/templates/project/VB/ConsoleProject.xpt @@ -6,7 +6,7 @@ ${res:Templates.Project.ConsoleProject.Name} - VBNet + VB ${res:Templates.File.Categories.WindowsApplications} VBNet.Project.DOSProject ${res:Templates.Project.ConsoleProject.Description} diff --git a/data/templates/project/VBNet/ControlLibrary.xpt b/data/templates/project/VB/ControlLibrary.xpt similarity index 99% rename from data/templates/project/VBNet/ControlLibrary.xpt rename to data/templates/project/VB/ControlLibrary.xpt index 72482242c6..a4bd140774 100644 --- a/data/templates/project/VBNet/ControlLibrary.xpt +++ b/data/templates/project/VB/ControlLibrary.xpt @@ -6,7 +6,7 @@ ${res:Templates.Project.UserControlLibrary.Name} - VBNet + VB ${res:Templates.File.Categories.WindowsApplications} VBNet.Project.ControlLibrary ${res:Templates.Project.UserControlLibrary.Description} diff --git a/data/templates/project/VBNet/DefaultAssemblyInfo.vb b/data/templates/project/VB/DefaultAssemblyInfo.vb similarity index 100% rename from data/templates/project/VBNet/DefaultAssemblyInfo.vb rename to data/templates/project/VB/DefaultAssemblyInfo.vb diff --git a/data/templates/project/VBNet/EmptyProject.xpt b/data/templates/project/VB/EmptyProject.xpt similarity index 96% rename from data/templates/project/VBNet/EmptyProject.xpt rename to data/templates/project/VB/EmptyProject.xpt index ac4cdc1959..88e8a82a64 100644 --- a/data/templates/project/VBNet/EmptyProject.xpt +++ b/data/templates/project/VB/EmptyProject.xpt @@ -6,7 +6,7 @@ ${res:Templates.Project.EmptyProject.Name} - VBNet + VB VBNet.Project.EmptyProject ${res:Templates.Project.EmptyProject.Description} v2.0;v3.5Client diff --git a/data/templates/project/VBNet/FormsProject.xpt b/data/templates/project/VB/FormsProject.xpt similarity index 99% rename from data/templates/project/VBNet/FormsProject.xpt rename to data/templates/project/VB/FormsProject.xpt index 778895746f..af5950d978 100644 --- a/data/templates/project/VBNet/FormsProject.xpt +++ b/data/templates/project/VB/FormsProject.xpt @@ -6,7 +6,7 @@ ${res:Templates.Project.WindowsApplication.Name} - VBNet + VB ${res:Templates.File.Categories.WindowsApplications} VBNet.Project.Form ${res:Templates.Project.WindowsApplication.Description} diff --git a/data/templates/project/VBNet/Library.xpt b/data/templates/project/VB/Library.xpt similarity index 97% rename from data/templates/project/VBNet/Library.xpt rename to data/templates/project/VB/Library.xpt index 7d40cff5b6..a9377cbf51 100644 --- a/data/templates/project/VBNet/Library.xpt +++ b/data/templates/project/VB/Library.xpt @@ -6,7 +6,7 @@ ${res:Templates.Project.ClassLibrary.Name} - VBNet + VB VBNet.Project.Library ${res:Templates.Project.ClassLibrary.Description} v2.0;v3.5Client diff --git a/data/templates/project/VB/MyWpfExtension.vb b/data/templates/project/VB/MyWpfExtension.vb new file mode 100644 index 0000000000..becbd52184 --- /dev/null +++ b/data/templates/project/VB/MyWpfExtension.vb @@ -0,0 +1,120 @@ +Namespace My + + + Module MyWpfExtension + Private m_computer As MyComputer + Private m_user As MyUser + Private m_windows As MyWindows + Private m_log As MyLog + + ''' + ''' Returns the application object for the running application + ''' + Friend ReadOnly Property Application() As MyApplication + Get + Return CType(Global.System.Windows.Application.Current, MyApplication) + End Get + End Property + + ''' + ''' Returns information about the host computer. + ''' + Friend ReadOnly Property Computer() As Global.Microsoft.VisualBasic.Devices.Computer + Get + If m_computer Is Nothing Then + m_computer = New MyComputer() + End If + Return m_computer + End Get + End Property + + ''' + ''' Returns information for the current user. If you wish to run the application with the current + ''' Windows user credentials, call My.User.InitializeWithWindowsUser(). + ''' + Friend ReadOnly Property User() As Global.Microsoft.VisualBasic.ApplicationServices.User + Get + If m_user Is Nothing Then + m_user = New MyUser() + End If + Return m_user + End Get + End Property + + ''' + ''' Returns the application log. The listeners can be configured by the application's configuration file. + ''' + Friend ReadOnly Property Log() As Global.Microsoft.VisualBasic.Logging.Log + Get + If m_log Is Nothing Then + m_log = New MyLog() + End If + Return m_log + End Get + End Property + + ''' + ''' Returns the collection of Windows defined in the project. + ''' + Friend ReadOnly Property Windows() As MyWindows + + Get + If m_windows Is Nothing Then + m_windows = New MyWindows() + End If + Return m_windows + End Get + End Property + + + Friend NotInheritable Class MyWindows + + Private Shared Function Create__Instance__(Of T As {New, Global.System.Windows.Window})(ByVal Instance As T) As T + If Instance Is Nothing Then + If m_WindowBeingCreated IsNot Nothing Then + If m_WindowBeingCreated.ContainsKey(GetType(T)) = True Then + Throw New Global.System.InvalidOperationException("The window cannot be accessed via My.Windows from the Window constructor.") + End If + Else + m_WindowBeingCreated = New Global.System.Collections.Hashtable() + End If + m_WindowBeingCreated.Add(GetType(T), Nothing) + Return New T() + m_WindowBeingCreated.Remove(GetType(T)) + Else + Return Instance + End If + End Function + + + Private Sub Dispose__Instance__(Of T As Global.System.Windows.Window)(ByRef instance As T) + instance = Nothing + End Sub + + Private Shared m_WindowBeingCreated As Global.System.Collections.Hashtable + End Class + End Module +End Namespace + +Partial Class MyComputer + Inherits Global.Microsoft.VisualBasic.Devices.Computer +End Class + +Partial Class MyUser + Inherits Global.Microsoft.VisualBasic.ApplicationServices.User +End Class + +Partial Class MyLog + Inherits Global.Microsoft.VisualBasic.Logging.Log +End Class + +Partial Class MyApplication + Inherits Global.System.Windows.Application + + Friend ReadOnly Property Info() As Global.Microsoft.VisualBasic.ApplicationServices.AssemblyInfo + + Get + Return New Global.Microsoft.VisualBasic.ApplicationServices.AssemblyInfo(Global.System.Reflection.Assembly.GetExecutingAssembly()) + End Get + End Property +End Class \ No newline at end of file diff --git a/data/templates/project/VB/NotifyIcon.xpt b/data/templates/project/VB/NotifyIcon.xpt new file mode 100644 index 0000000000..c8b38aa0d6 --- /dev/null +++ b/data/templates/project/VB/NotifyIcon.xpt @@ -0,0 +1,108 @@ + + diff --git a/data/templates/project/VB/NotifyIconResources.resx b/data/templates/project/VB/NotifyIconResources.resx new file mode 100644 index 0000000000..555241f66d --- /dev/null +++ b/data/templates/project/VB/NotifyIconResources.resx @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAkAMDAQAAAAAABoBgAAlgAAACAgEAAAAAAA6AIAAP4GAAAQEBAAAAAAACgBAADmCQAAMDAAAAEA + CACoDgAADgsAACAgAAABAAgAqAgAALYZAAAQEAAAAQAIAGgFAABeIgAAMDAAAAEAIACoJQAAxicAACAg + AAABACAAqBAAAG5NAAAQEAAAAQAgAGgEAAAWXgAAKAAAADAAAABgAAAAAQAEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAIAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAAAAAAA//8A/wAAAP8A + /wD//wAA////AACAAACZmZmZmZmZmZmZmZmZmZmZmZAACZmZmZmZmZmZmZmZmZmZmZmZmZmZAAKiIJmZ + mZmZmZmZmZmZmZmZmZmZmZAAKioqIgmZmZmZmZmZmZmZmZmZmZmZmZCioqKiIiCZmZmZmZmZmZAAAACZ + kAAAAAAKKioqIiIJmZmZmZmZmQAAAAAJkAAAAAAAoqKiIiIgmZmZmZmZkAdu7ucAkH7u7mcACioqIiIg + mZmZmZmZkG7u7u7gAH7u7u7nAKKiIiIgmZmZmZmZkO7uZu7mAH7u7u7uYAoqIiIgmZmZmZmZkH5wAH7u + AH7nAAbu5wKiIiIgmZmZmZmZmQAAAA7ucH7nBwB+7gAqIiIgmZmZmZmZmZAAAH7ucH7nAHAG7nCiIiIg + mZmZmZmZmQAAB+7uAH7nBwAH7mAqIiIgmZmZmZmZkAB27u7nAH7nAHAH7uCiIiIgmZmZmZmZAAbu7u5w + AH7nBwAH7uAqIiIgmZmZmZmQAG7u5nAAAH7nAHAH7uCiIiIgmZmZmZkAcO7mAAAAAH7nBwAH7mAqIiIg + mZmZmZAHB+7gAAAAAH7nAAAG7nCiIiIgmZmZmZBwB+7gAAdwAH7nAABu5goqIiIgmZmZmZAHB+7md37g + AH7mZmbu5wKiIiIgmZmZmZBwcH7u7u7mAH7u7u7ucCoqIiIgmZmZmZAHBwfu7u5gAH7u7u5gAqKiIiIg + mZkAAABwbnAHZncAcHd3d3AAKioqIiIgmZkAcHAO5uZwAAB3YAAAAACioqKqIiIgmZkHBwBu7m5gcAZm + dnZ3AHAqKqqqoiIgmZkAcHDm7ubmBwZmZ2dnBwCqqqqqqiIgmZkHBwcObu5uYAZmZnZ2AHCqqqqqqqIg + mZkAcHBw5u7m5mZmZmdnZ3cKqqqqqqogmZkHBwcHDm7ubmZmZmZ2dndwqqqqqqqgmZkAAAAAAObu5uZm + ZmZ2dnd3CqqqqgAJmZkHd2dmZubu7m5gAABnZ2d3cKqgAACZmZkHd3Z2Zm5u7mAAcHAAdnZ3dwAHZmCZ + mZkHd3Z2Zmbm7gcHBwcHB2dnd3d2dmCZmZkHd3dnZmbm7gAAAAAABnZ2d3d3Z2CZmZkHd3d2dmZubuAA + AAAAZmdnZ3d3Z2CZmZkHd3d3Z2Zm5u7gAABmZmdnZ3d3dnCZmZkAAAAAAAZmbm7ubmZmZmZ2AAAAAACZ + mZmZmZBwcGdmZubu5uZmZmZnYHBwmZmZmZmZmZAHB2dmZubu7m5mZmZmdgcAmZmZmZmZmZBwd3Z3YA5u + 7ubmAGZmdnBwmZmZmZmZmZAHd3dmCQbm7u5uCQZmZ2cAmZmZmZmZmZB3d3dwmQZubu5uCZBmZnZwmZmZ + mZmZmZkHd3cJmQZm5u7mCZkGZmcJmZmZmZmZmZmQd3CZmQZm5u7uCZmQZmCZmZmZmZmZmZmZBwmZmQZm + bm7uCZmZBgmZmZmZmZmZmZmZkJmZmQZmZubuCZmZkJmZmZmZmZmZmZmZmZmZmQZmZm5uCZmZmZmZmZmZ + mZmZmZmZmZmZmQAAAAAACZmZmZmZmZmZmZn/////4f8AAP////8A/wAA////+AB/AAD////4AD8AAP/g + OAAAHwAA/8AYAAAPAAD/gAgAAA8AAP+AAAAADwAA/4AAAAAPAAD/gAAAAA8AAP/AAAAADwAA/+AAAAAP + AAD/wAAAAA8AAP+AAAAADwAA/wAAAAAPAAD+AAAAAA8AAPwAAAAADwAA+AAAAAAPAAD4AAAAAA8AAPgA + AAAADwAA+AAAAAAPAAD4AAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAP + AAAAAAAAAA8AAAAAAAAADwAAAAAAAAAfAAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAA + AAAAPwAAAAAAAAA/AAAAAAAAAD8AAPgAAAAD/wAA+AAAAAP/AAD4AAAAA/8AAPgBABAD/wAA+AMAGAP/ + AAD8BwAcB/8AAP4PAB4P/wAA/x8AHx//AAD/vwAfv/8AAP//AB///wAA//8AH///AAAoAAAAIAAAAEAA + AAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgIAAgAAAAIAAgACAgAAAwMDAAICA + gAAAAP8AAAAAAAD//wD/AAAA/wD/AP//AAD///8AAIAAAJmZmZmZmZmZmZmZkAAJmZmZmZmZmZmZmZmQ + AAIiIJmZmZmZkAAACQAAAAIiIiIJmZmZmQAAAAAAAAAAIiIiIJmZmZAH7u5wDu7mcAIiIiCZmZmQDuZu + 5w7u7uYAIiIgmZmZmQAABuYO4ADucAIiIJmZmZmQAAfmDuAADuACIiCZmZmZAAdu5w7gAAbgAiIgmZmZ + kABu7mAO4AAG4AIiIJmZmQAO7ncADuAABuACIiCZmZAADuAAAA7gAA7gAiIgmZmQAA7gAHAO4ADucCIi + IJmZkAAG7m7gDu7u5gIiIiCZAAAHcG7ucA7u5nAiIiIgmQAHfmcAAAcAAAACIiIiIJkAAO7mZ3dnd3dw + IiqqIiCZAAAO7mZ3Znd3cKqqqqIgmQAAAO7mZmZmd3CqqqqqIJkAAABu7mZmZ2d3CqqqqqCZB2Zmbu7m + cAB3d3CqoAAJmQd2ZmbuZwAAB3d3AAdwmZkHd2ZmbmcAAAdnd3d3YJmZB3d3Zm7mYABmZ3d3d3CZmQAA + AAZm7u5mZmZ3AAAAmZmZkAB2Zm7u5mZmZ3AAmZmZmZAHdmcA7ubgBmZ3AJmZmZmQd3ZwkO7u4JBmdnCZ + mZmZmQd3CZBu7uCZBmcJmZmZmZmQcJmQZu7gmZBwmZmZmZmZmQmZkGbu4JmZCZmZmZmZmZmZmZAAAACZ + mZmZmZmZ///+H///4A/+BAAH/AAAA/gAAAP4AAAD/AAAA/4AAAP8AAAD+AAAA/AAAAPgAAAD4AAAA+AA + AAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAHAAAADwAAAA8AAAAPAAAAD+AAAD/gAAA/4CAgP/Bg + MH/44Dj//eA9///gP/8oAAAAEAAAACAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + gAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAAAAAAD//wD/AAAA/wD/AP//AAD///8AAIAAAJmZ + mZmZmSKZmQAAAAAAIimZBu5wbmcCIpkAdmDgdgIimQdmcOAOAiKQBmcA4HYCIpAH7mBuZwIiAGAAAAAA + qiIADmZmdyqqogd25gB3cqoiBmbmAHdwIpkAB25nZnAAmZB3YO4HZwmZkHcA7gB2CZmZAJBuCQCZmZmZ + kAAJmZmZ//OZAMAB5w7AAAbgwAAgmcAAkACAAGAOgAAG4AAAIJkAAAAOAAAADgADBuAAAyCZgAcADoAH + AA7ITw7g+H8gmSgAAAAwAAAAYAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBQQACAcGAA0M + CwCdiWYAn4xpAKWTcgCpl3YAHBkUAKyaewCxoIEAt6eKAMGymADEtZsAzb+nAMu9pQDYzLYA1cmzAN3R + vADh1sIA3tTCAOrgzgDp380A7OLRAOTbywDi2ckA8unZAPTr3ADz6tsA8unaAPHo2QDu5dYA7eTVANrT + xwAbGBIAoY9sAKORbwAmIhoAXlVDALSkhgBLRTkAuquOALytkQC/sZUAx7mfAMm7oQDSxa0Az8KqAERA + OADZz7sA593KAOPZxgDb0sEA39bFAO3k0wDw59YA7uXUAOjg0ADn388A5d3NAPTs3ADq4tMA8enaAO/n + 2ADu5tcA7eXWAHpvVgAuKiEAj4RrADQwJwCTiG8AnZJ6AKGWfgCil4AAnZN+AKmfiQCupI4AraONALWr + lQCyqJMAu7GcALatmgDFvKgAzsWxAMa9qgDJwK0Ac29mAF1VQQBwZk8AW1NAAIN4XQCCd1wAf3RaAGti + TABIQjMAGBYRAIV6XwBoX0oAXlZDADs2KgCGe2AAe3FYADIuJABMRjcAiH1jAIyBZwCSh20AHRsWAJSK + cQCbkXkAmY93AKSaggCelH0AdG1cAKWbhAConocAp52GAKyiiwCroYoAuK+ZALatmACzqpUAubCbAL20 + nwC8s54AxLumAMK5pADBuKMAwLeiAL62ogDUzLkAPzosAGtiSwBhWUQAVE07AE5INwBuZU4AZFxHAF1W + QgBZUj8Ac2pSAGhgSgBEPzEAiX9lAI2DaQCXjXMATkk8AKKZggBvaVkAsKeQAK6mkAAeHBYAIR8YAAMD + AgAAAAAAADAuAALAugABcWwAAW5qAAKhnAACmpUAApeSAAKTjgACkIsAAoyHAAO7tQACgHsAAn55AAJ+ + egACfHcAAnx4AAJ7dgACenUAAndzAAJ2cQACdHAAAm9rAAJtaQACa2cAAmdjAAJgXQACwr0AAr24AAK3 + sgACs64AAq2oAAF1cgABbGkAAWNgAAFaWAADxL4AAqWhAAKJhQAChoIAAoSAAAKCfgABR0UAAoB9AAJ9 + egACe3gAAnl2AAJ4dQACd3QAAnVyAAJzcAACcm8AAnFuAAJwbQACbWoAAmtoAAJpZgACaGUAAmViAAXJ + xAAFwLsADcbCABTMygAAGhoAABERAAAICAAZ09MAH8/RACbX2QAkzs4AIc7RAC7e4gA12d8AOuLpAEPb + 5ABH5e8AQ9PeAP///wDu7u4A3t7eAM7OzgC6uroAuLi4ALW1tQCqqqoAmZmZAJSUlACIiIgAenp6AHV1 + dQBlZWUAVVVVAERERAA6OjoAMDAwACsrKwAkJCQAIyMjACAgIAAbGxsAFxcXABAQEAAAAAAAmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn/////mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZn///+qqqjH/5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn/ + ///Myqyrqamoqv+ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn/u7Kxr67IxqaoqMv/ + mZmZmZmZmZmZmZmZmZmZmZn/////////mZmZ/////////////7O70q+uqqaoqa7R/5mZmZmZmZmZmZmZ + mZmZmf/9//v//////5mZ//////////////+8s9LOyamopq2xs/+ZmZmZmZmZmZmZmZmZ///y6Obm5ubu + /v+Z//Lm5ubm5ury+///vLuxy6mqxayxs/+ZmZmZmZmZmZmZmZmZ/+rm5ubm5ubm5/v6//Lm5ubm5ubm + 5vL//7yyzqqrxayws/+ZmZmZmZmZmZmZmZmZ/+bm5ufq6Obm5ur///Lm5ubm5ubm5ubt//+7navIxcjP + s/+ZmZmZmZmZmZmZmZmZ//Pm7v8C//Dm5ub///Lm5vL////t5ubm8P+7uqusp8ivu/+ZmZmZmZmZmZmZ + mZmZmf/////////m5ub///Lm5vL/8vb/7ubm5vv/usjIp6vOu/+ZmZmZmZmZmZmZmZmZmZn///////Xm + 5ub///Lm5vL/7+z//+jm5vDYusfIparN0/+ZmZmZmZmZmZmZmZmZmf/////77ubm5uf/IfLm5vL/7+v/ + 2fDm5ur/namrpanM0/+ZmZmZmZmZmZmZmZmZ//z/8+nm5ubm5vKYB/Lm5vL/7+z/mvXm5ub/nKWowqbL + sv+ZmZmZmZmZmZmZmZn/Av7p5ubm5ubm8v+Xl/Lm5vL/8O3/w/Xm5ub/ucGmwaeusv+ZmZmZmZmZmZmZ + mf9i/+rm5ubm6PD7/ySNJPLm5vL/8O//mvPm5uf/qb/EwMSt0v+ZmZmZmZmZmZmZ/41C/ubm5u33//+W + Yl1dJPLm5vL/8vH//+7m5u3awaLBv8Ks0f+ZmZmZmZmZmZn/hmZl9ebm5v769P9CZWWGQvLm5vL///// + 9+bm5vOao6C/o8HIsf+ZmZmZmZmZmZn/hYVi9+bm5vv/+P/19ACNQvLm5vL/+f/15+bm6P+8oJ6josCr + 0P+ZmZmZmZmZmZn/Vlhd/+fm5un09e7m5/cHRPLm5ury8u3m5ubm9dmgnr6iosCqsP+ZmZmZmZmZmZn/ + iIRhAfLm5ubm5ubm5uqWYvLm5ubm5ubm5ubz/8u+uLihob+or/+ZmZmZmZmZmZn/XIxbVf/y5ubm5ubm + 6feXjfLm5ubm5ubm6vf/u7i4t7egoaOmr/+ZmZmZ////////i1o4GFX/+/Lq6u70/2pwJ/Xy8vLy8vP7 + /5qit7a2pKSgoKOnzv+ZmZmZ/2aGhmb/WT1AORiAjZZqal4vk5JJk5EnXY1lYmL/nqSktbW15eWfoKOl + zf+ZmZmZ/4qKior/HBsdQDkYM1tBQYRQeJVKkkZrQ46EQWT/vb294+Pj3tfWn6KlzP+ZmZmZ/4iIiIiI + GxwbGR84FxNaWoh9enZOdXFGkGmIWlr/1OTk4+Hd39fW1Z/Crv+ZmZmZ/1dXV1dXVxsbGxkfOBcTWYhU + fXt2lHVuRpCIWWf/5OTk4+Hd3NfWtJufrv+ZmZmZ/2RkZGRkZGQbGxs+HzgYM4FSU317d5R1SGxrQ45j + /+Tk4uDd29fWtLSbn/+ZmZmZ/1lZWVlZWVlZGxsdPjw5GDOBUlN+T01Lckdta4+OX//k4uDd29fUvbS0 + m/+ZmZmZ/1lZWVlZWVlZWRsbGz88OjQwgVJRgE94THNHbUWPZ1//4uDd29fU1P///5mZmZmZ/wUIJikM + DhARMTcbGz0ePDo0MIiIiIiITnRub5BpaGdf/+Dd2////zz/mZmZmZmZ/yIFCCYpKw0QExU2GxwdHziI + iIuLi4uLiIh1bkaQaWhnWf///5J4UyD/mZmZmZmZ/wMiBgkKKisuDxIUNhsbHYiHh4eHh4eHh4eISkhs + a0OOY1laZ2tzUFT/mZmZmZmZ/wMDIwYJKAssLTAyFh0bG4iMjIyMYIyMjIyIS3JHbWtDjmNZWo5tSnn/ + mZmZmZmZ/wMDBCMICSgMDi0RMjUcGz2IiIiIiIiIiIhPTUtzR21Fj2dfWVlobEv/mZmZmZmZ/wMDAwQF + CCYpDA4QETE3GxsZHoiIiIiIVHyAeU50cW+QaWhnX1pfQ2//mZmZmZmZ//////+CYWFhYWENEBIVNhsc + GR84FxMwUlR8endOdW6JiYmJiYL/////mZmZmZmZmZmZmZn/YWFhWSorLg8SFB0bGx0fORgzgVJUfXt3 + lEpIWSWJJf+ZmZmZmZmZmZmZmZmZmZn/XINZCSgLLC0wMhYdGxs+PDkYM4FSU397TUtyR1lcXP+ZmZmZ + mZmZmZmZmZmZmZn/QVkjCCYoDA4t//81GRs9Pzw6NDD//1GAeXhMc29ZQf+ZmZmZmZmZmZmZmZmZmZn/ + WQMEBQgmKQz/mf8xNxscPR48FzT/mf98enlOTHFvWf+ZmZmZmZmZmZmZmZmZmZn/AwMDIgUIJv+Zmf8S + FDYbGx0fOBf/mZn/fXp3TnVuRv+ZmZmZmZmZmZmZmZmZmZmZ/wMDAyIF/5mZmf8PEhQ2Ghs+Hzj/mZmZ + /317d5RK/5mZmZmZmZmZmZmZmZmZmZmZmf8DAwP/mZmZmf8tMDIWGRscPjz/mZmZmf9+T03/mZmZmZmZ + mZmZmZmZmZmZmZmZmZn/A/+ZmZmZmf8OLREyNRkbPT//mZmZmZn/gP+ZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZ/5mZmZmZmf8MDhARMTccGxn/mZmZmZmZ/5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmf8p + Kw0QEhU2Oxv/mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmf//////////////mZmZ + mZmZmZmZmZmZmZmZmZmZmZmZ/////+H/AAD/////AP8AAP////gAfwAA////+AA/AAD/4DgAAB8AAP/A + GAAADwAA/4AIAAAPAAD/gAAAAA8AAP+AAAAADwAA/4AAAAAPAAD/wAAAAA8AAP/gAAAADwAA/8AAAAAP + AAD/gAAAAA8AAP8AAAAADwAA/gAAAAAPAAD8AAAAAA8AAPgAAAAADwAA+AAAAAAPAAD4AAAAAA8AAPgA + AAAADwAA+AAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAP + AAAAAAAAAA8AAAAAAAAAHwAAAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD8AAAAA + AAAAPwAAAAAAAAA/AAD4AAAAA/8AAPgAAAAD/wAA+AAAAAP/AAD4AQAQA/8AAPgDABgD/wAA/AcAHAf/ + AAD+DwAeD/8AAP8fAB8f/wAA/78AH7//AAD//wAf//8AAP//AB///wAAKAAAACAAAABAAAAAAQAIAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABsaGwBJRUAA8ujaAOLWwwDVy7sA/vTkAPjv4QCZhmMAeGlOAKqV + bwCOfF0ArJdxAJOBYQA5MiYAoo9tAH1uVQC1oH0Aqph3AK2bewC5poUAp5d6ALmpjAC3qZEA2cy2ANzQ + ugDWzLoA593LAO7k0wDt49IA6+HQAOfezgDx6NgA6+LTAPTr3ADz6tsA8OfYAPfu3wDz690A+fHjAC0o + HgCdjGoAFhQQALWlhwCyo4UAJCEbAMO1mQC4q5MAo5iCAJ2TfwCelIEA0sWtAOHUvAC1q5cAzMGrAJOL + ewDl2sUA7OHMANPKuAD37dkA6d/MANnQvgDXzr0AyMCwAHx3bQD47tsA5NvKAOLZyABNSkQA9+7cAPLp + 2ADw59YA/fTjAOzk1ADp4dEA7+fXAOvj1AD17d4A9OzdAPHp2gDt5dYAQD46AGVbRgBWTjwAd2xUAGxi + TAA2MSYAYFdEAJCEagCbj3UAiH5oAJuQdwCbkHgAnZJ7AKSZggCnnIUAzL+kAHNsXQCxp5EAmpF+ALCm + kQCto44Aw7mjALqwmwCxqJUAu7KeAL+2ogDDuqcA0sm2AN3VxADm39AAXVQ+AGddRgB1alAAY1pFAF1V + QQByaFAAaF9JAHBmTwBEPjAAlIdpAIl9YQB/dFoAeW9WAHFnUABIQjMAhXpgAEhCNACLgGUAgXdeAI2C + aACIfmUAb2dTAJaLcQAoJR4AkohvAGFaSgCXjXUAkohxALSpjwChl4AArqSNAKifiQCroowAsaiSAMa8 + pAC4r5kAt66YAMC3oQC9tJ8AxLumAP/45wBmXUUAaWFKAFVOPABkXEcATUc3AG1lTwBqYk0AeG9YAIF4 + YABxaVQAkIZsAIqCbACEfWsAtq2WAP/56QAdGxUAMS4lABAPCgD///0AW1taAAAAAAAABwYADSUjAACz + rQABuLIAAWllAAFbWAACm5YAApOOAAKOiQACiIMAAVVSAAKAfAACfnoAAn14AAJ8dwACe3cAAnl1AAJ2 + cgACcW0AAm9rAAJtaQABPDkAAlxZAAJWUwAMKyoADCgnAA0nJgANJiUADSUkAAAoJwABZGEAA8jCAAKk + nwACnZkAApWRAAKKhgAChYEABNLNAAJ3dAACdHEAAnNwAAJybwACcW4AAm1qAAJraAACamcAAmlmAATB + vAACX10ABq2oAA3Z1gAOv7wAEcnHAAAJCQAb09MABBoaACPMzgAiw8UAByIiAC/x9QAq2NsAKLG1ADjX + 3gBA3OUAPM3UAE3z/gA4u8QA////AO7u7gDm5uYA3t7eAM7OzgC6uroAra2tAJubmwCZmZkAgICAAHd3 + dwBlZWUAMTExACUlJQATExMAAgICAAAAAACrq6urq6urq6urq6urq6urq6urq6urq62tra2rq6urq6ur + q6urq6urq6urq6urq6urq6utra2t3Lq3wq2rq6urq6urq6urq////////6v//////63/trDZ19W4wq2r + q6urq6urq6v////////8////////////tsrA1b29w62rq6urq6ur///68O/v8Pn///Hv7+/0+v//ttnW + 077Axqurq6urq6v//+/v8/Pv76r/8e/v7+/v9P//sb7T1dqtq6urq6urq6v//////fXv9f/x7/////Dv + 9//B1L3U2Mirq6urq6urq6v///z/9+/0//Hv///j/+/v/8HTvdPAyKurq6urq6ur+/3/qvTv7/n/8e// + /+bj8u//wby70r/Hq6urq6urqyn/+/Lv7+/0p//x7///5sn07//BuLm8vserq6urq6spUv/w7+/2qlV2 + //Hv///j4fLv/8HQt7nUxqurq6urKXxS/+/v//+m////8e///6z/7+//wbTQt9PGq6urq6spUlL/7+// + ///4///x7//+//Dv9/+yzs/Q0serq6urqylWdv/z7/D07+////Hv7+/v7/P/sczNtNC8xqurKSkpAFEx + Afv07+/v+P//8e/v7/L3/7HdrsyztbvGq6spm5uojSVsP///////Nv///////8Wxrq/f3bPPucWrqyx0 + cX5NAkttPYKXYmaOL4iGnHrFy9vk5Orlzc+4xaurhXp1dTAGIUhJPZ9klZKMXVyegMXn6+vq5ODbsrjG + q6sneHl5cC8kAk8eQhk1amZjL1qhxezt6+ji4MvbzMSrq6d3f4FXeGYmTktBQms0Y41hXYiBxe7n6OLe + 0a+vxaurDRAqLTUYGh8iIyJponF0mFmLi4SBxenn4sXFxcWrq6tVCxEqLV8YOwImPm5ve3V1b51eXIZ/ + xcXFYDYnq6urqw0JDhIVLTIzHSRsnG6aUZpyn2FeW4Z/fYChpCerq6urJwcKKBQrLjUDHCYeZ52DoGeU + kYxdhoJ9gHqJJ6urq6tDQ0NDQ1JUFhc3RSRMSh5sOTVpNIxZcXJDQ0NDq6urq6urq0OaUystXzMEIE0f + IEI8amhlj4yEc3ZDq6urq6urq6urQ3koEipfNkNDBSJKSUZQQ2iTYY1YmUOrq6urq6urq6tDDA4OE1lD + q0NAIiJPREOrQ5SUZIqHQ6urq6urq6urq6tDBwkPQ6urQzgbIQJHQ6urQ2iQo0Orq6urq6urq6urq6tD + CEOrq6tDMzdGIqVDq6urQzZDq6urq6urq6urq6urq6tDq6urq0MzNzqWqUOrq6urQ6urq6urq6urq6ur + q6urq6urq6urQ0NDQ0NDQ6urq6urq6urq6urq6ur///+H///4A/+BAAH/AAAA/gAAAP4AAAD/AAAA/4A + AAP8AAAD+AAAA/AAAAPgAAAD4AAAA+AAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAHAAAADwAA + AA8AAAAPAAAAD+AAAD/gAAA/4CAgP/BgMH/44Dj//eA9///gP/8oAAAAEAAAACAAAAABAAgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA0MCmAMe5ogDy6NgA7uTUAPfu4ACAcVYAtqF9AObaxQDo3coA1827AOng + 0ADo388A/vXlAPrx4QD37t4AxrKNAKubfQConIUAuK6aAOvfxwDHvakAzcSzAPDo2QD58eIAbWJLAEQ+ + MQCpm30AppqAAJiNdQCRinsAt6+dALqyoACGe2AAiH1iAHRrVgCQhm0AmI52AExHOwCakHgAo5mCAKac + hQC7sZoAn5eDAEpFOAC6sJYAuK+YAL61ngC1rZgAo5yKAP//8gAAAAAAAVFOAAGuqQACz8kAAoJ+ADDw + 9AAw7/MA////AL+/vwBBQUEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMjIyMjIyMjIyMjMzMjIyMjw8PDw8PDw8PDw1NDMyMjI8Ojk5 + Ozw6OTo7PDQ2MzIyPDw7Ojo8OTw7Ojw0NjMyMjw7Ojo7PDk8PDk8NDYzMiU8Ojo7PDw5PDs6PDQ2MzIl + PDs5OTo8Ojk6Ozw0NjM8JRU8PDw8PDw8PDw4ODYzJSUlFgsSFC0kITM4ODg4MyUaGwkECiUlKBwgMzc4 + MzMlDwAHDR8lJSInKxkzMzIyJSUlEQgCHiovLiYlJSUyMjIlGBABJRcOJR0pIyUyMjIyJQUGJSUDDCUl + MCwlMjIyMjIlJTIlEzElMiUlMjIyMjIyMjIyJSUlJTIyMjIyMjL/86urwAH7/cAA9O/AAP/xwAD/5oAA + 7/+AALvSAACrqwAAq6sAAP/7AAPv7wAD//GAB//mgAfv/8hPubz4f6urKAAAADAAAABgAAAAAQAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA + AAQAAAAGAAAACQAAAAwAAAAPAAAAEQAAABIAAAASAAAAEAAAAA4AAAAMAAAACgAAAAkAAAAKAAAADAAA + AA0AAAAOAAAADwAAAA8AAAAOAAAADQAAAAsAAAAJAAAABwAAAAUAAAADAAAA/wAAAP8AAAD/AAAA/wAA + AH8AAAB/AAAAfwAAAH8AAAA/AAAAPwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAACAAAABQAAAAkAAAAOAAAAFAAAABkAAAAeAAAAIQAAACIAAAAhAAAAHwAAABwAAAAYAAAAFQAA + ABQAAAAVAAAAGAAAABoAAAAcAAAAHgAAAB4AAAAdAAAAGwAAABgAAAAUAAAA/wAAAP8AAAD/Anp2/wJ6 + dv8Ce3f/Anl2/wAAAP8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAD8AAAAfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAIAAAAFAAAACgAAABEAAAAZAAAAIgAAACsAAAAxAAAANQAAADcAAAA2AAAAMwAA + AC4AAAApAAAAJgAAACQAAAAlAAAAKQAAACwAAAAwAAAAMgAAADIAAAAxAAAA/wAAAP8AAAD/AnJu/wJ1 + cv8Cd3P/Anl1/wJ8eP8CfHj/Ant3/wJ6dv8AAAD/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAA/AAAAHwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAIAAAADwAAABoAAAAoAAAANAAAAEAAAABIAAAATQAA + AE8AAABOAAAASwAAAEUAAAA/AAAAOgAAADgAAAA5AAAAPgAAAEMAAABIAAAASwAAAEwAAABKAAAA/wFj + YP8CZmP/Amtn/wJva/8CdHD/Anh0/wJ7eP8CfXn/Ant3/wJ8d/8Cc2//AAAA/wAAAH8AAAB/AAAAfwAA + AH8AAAA/AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAALAAAAFgAAACQAAAA1AAAARQAA + AGcAAACHAAAAigAAAIsAAACLAAAAXgAAAFgAAABTAAAATgAAAEsAAABMAAAAUQAAAFYAAABaAAAAXgAA + AF8AAABdAAAA/wFaV/8BXVv/AWJf/wJoZP8Cb2r/AnRx/wJ6dv8CfXn/Anx3/wJ8eP8CdHD/Amll/wAA + AP8AAAD/AAAAfwAAAH8AAAA/AAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAANAAAAGgAA + ACoAAACXAAAA6AAAAP8gICD/RERE/0RERP8AAAD/AAAA/wAAAMIAAABtAAAAXwAAAKcAAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEtLP8BS0n/AVtY/wFgXf8CaGX/AnBs/wJ3dP8CfXj/Ant3/wJ9 + ef8CdnH/Ampn/wJfW/8AAAD/AAAAHwAAAB8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAUAAAAOAAAAKQAAAMYAAAD/dXV1/97e3v//////////////////////mZmZ/xAQEP8AAAD1AAAAfgAA + AK11dXX///////////////////////////+6urr/dXV1/yAgIP8AAAD/AS8t/wFbV/8BYl//Amtn/wJz + cP8CfHj/Anp2/wJ9ev8Cd3L/Amtn/wJfXf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAUAAAANAAAAZhAQEP+6urr//////////////////////////////////////+7u + 7v8gICD/AAAA3AAAALZ1dXX///////////////////////////////////////////91dXX/AAAA/wAd + HP8BXFr/AWZj/wJwbf8Ce3b/Anp1/wJ9ev8Cd3P/Amxp/wJhXf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAALAAAAZFVVVf/////////////////u7u7/urq6/97e + 3v////////////////+6urr/AAAA/wAAAMF1dXX///////////////////////////////////////// + ////////qqqq/wAAAP8AKij/AWNf/wJuav8CeXX/Anh1/wJ9ev8CeHT/Am1q/wJhXv8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAJAAAAYgAAAP9lZWX//////5mZ + mf8AAAD/AAAA9QAAAP+JiYn/////////////////ICAg/wAAAMZ1dXX///////////91dXX/AAAA/wAA + AP8wMDD/qqqq/////////////////4mJif8AAAD/AVVS/wFsaf8CeXT/Andz/wJ+ev8CeHT/Am5r/wJi + X/8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAIAAAAFgAA + AIMAAAD/RERE/wAAAP8AAAC/AAAAaQAAALwAAAD/////////////////RERE/wAAAMR1dXX///////// + //91dXX/AAAAvAAAAIoAAADFAAAA/5mZmf////////////////8gICD/ACwr/wFsaP8CeHX/Anh0/wJ+ + ev8CeXX/AnBs/wJkYP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAMAAAANAAAAJgAAAEgAAACLAAAAkAAAAI4AAAB5AAAAxAAAAP9ERET/////////////////MDAw/wAA + AP91dXX///////////91dXX/AAAA/wAAAGoAAABJAAAA/wAAAP/e3t7///////////+JiYn/ABoa/wFs + af8CeXb/Anh0/wKAe/8Cenb/AnFt/wJlYf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAgAAAAeAAAAPwAAAFoAAABtAAAArQAAAOUAAAD/ICAg/5mZmf////////////// + ///u7u7/AAAA/xsYEv91dXX///////////91dXX/AAAA/wAAAGoAAABHAAAA/wAQD/+JiYn///////// + //+6urr/AAAA/wFuav8CfHj/Anl1/wKAe/8CfHj/AnJu/wJlYv8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABkAAAA4AAAAUQAAAP8AAADkAAAA/2VlZf/Ozs7///////// + //////////////////91dXX/AwMC/xwZE/91dXX///////////91dXX/AAAA/wAAAG0AAABMAAAA/wA4 + N/9ERET/////////////////AAAA/wFxbP8Cf3v/Ant3/wKCfv8CfXn/AnNv/wJnY/8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAC0AAABIAAAA/w8OC/8QEBD/zs7O//// + /////////////////////////////3V1df8AAAD/IB4X/yEeF/91dXX///////////91dXX/AAAA/wAA + AHMAAABXAAAA/wFHRf9ERET/////////////////AAAA/wF1cv8ChID/An55/wKEf/8Cfnr/AnRw/wJn + ZP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAADYAAAD/OTQo/wAA + AP+6urr//////////////////////97e3v+JiYn/ICAg/wAAAP8kIRn/RD4w/yUiGv91dXX///////// + //91dXX/AAAA/wAAAH0AAABtAAAA/wAtK/9lZWX////////////u7u7/AAAA/wJ8eP8CiYX/AoB9/wKG + gv8Cf33/AnVx/wJoZf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAA + AP9FPzH/MCsh/xAQEP////////////////+qqqr/MDAw/wAAAP8AAAD/HhwW/zw3K/9HQTL/SUM0/ygk + HP91dXX///////////91dXX/AAAA/wAAAIsAAACFAAAA/wAAAP+ZmZn///////////+qqqr/AAgI/wKE + gP8Cj4v/AoSA/wKKhf8Cg37/AnZz/wJpZv8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/05HN/9LRTb/NC8k/0RERP////////////////8QEBD/AAAA3QAAAKsAAAD/Lysh/zEt + I/8zLyT/Tkg3/ysoHv91dXX///////////91dXX/AAAA/wAAAJIAAACuAAAA/zAwMP////////////// + //9lZWX/ACsp/wKNh/8Cl5L/AoiE/wKMiP8Cg3//Anh0/wJqZ/8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAQAAAAMAAAAEAAAABAAAAAQAAAA/1VOPP9TSzr/OTQp/zAwMP////////////////8gICD/AAAA/wAA + ANQAAAD/RERE/1VVVf8GBQT/RUAy/y8rIv91dXX///////////91dXX/AAAA/wAAANsAAAD/RERE/+7u + 7v///////////97e3v8AAAD/AVRS/wKXk/8Cn5v/AoyH/wKPiv8ChoH/Anl1/wJraP8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAwAAAAkAAAAMAAAADAAAAAwAAAA/11VQf9bU0D/R0Ay/wAAAP/u7u7///////// + ///Ozs7/VVVV/0RERP+ZmZn//////+7u7v8wMDD/GxkU/zQwJ/91dXX///////////+6urr/dXV1/3V1 + df+qqqr//////////////////////0RERP8AEhL/ApiT/wKhm/8CpqL/ApCM/wKRjP8ChoL/Anp2/wJt + af8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAQAAAAEAAAABAAAAA/2NbRv9iWkX/X1dD/wgH + Bv91dXX///////////////////////////////////////////+6urr/HhwX/zo2LP91dXX///////// + ////////////////////////////////////////ZWVl/wAAAP8Bc3D/AqSf/wKqpf8Crqr/ApOO/wKT + jv8CiYT/Ant3/wJua/8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAQAAAAEAAAABAAAAA/2ti + TP9pYEv/f3Ra/3NuZv8AAAD/dXV1/////////////////////////////////87Ozv8wMDD/IiAb/0M+ + Mv91dXX//////////////////////////////////////7q6uv8wMDD/AAAA/wFkYP8Cq6b/Aq+p/wKy + rf8CtK//ApWR/wKUj/8Ci4b/An15/wJva/8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/3NoUf+Cd1z/6ODR/+DYyf9zb2b/AAAA/yAgIP91dXX/urq6/7q6uv+ZmZn/VVVV/wAA + AP8cGxf/dG1c/0pFOf9ERET/dXV1/3V1df91dXX/dXV1/3V1df9lZWX/ICAg/wAAAP8BLy3/ApCL/wKz + rv8CtrH/Ariy/wK6s/8CurT/ApeS/wKXkv8Ci4f/An56/wJwbf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AP9NRzf/Tkc3/05INv9NRzf/AAAA/4N4Xf/x6dr/7eXW/+ff0P/h2cj/vLWm/0M9MP8eHBb/HhsV/x4b + Ff8YFhH/REA4/29pW/+hmIP/nZN+/29oV/9OSTz/S0U4/0dCNf9EPzL/MS0j/zw3Kv88Nyv/AAAA/wOi + nf8DurX/A7y2/wK8t/8Cvbj/Ar+4/0LT3v9D093/ApqV/wKYk/8CjYj/An97/wJxbv8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAP9ZUj//WVI//1lRP/9ZUT7/AAAA//Lp2v/z6tv/8OjZ/+3l1v/n39D/4drK/9vT + wf9+dFr/em9W/3pvVv9gWET/t62a/7Oqlf+uppD/qZ+J/6Kagv+cknv/k4py/46Da/+Jf2X/YFhE/3pv + Vv97cVf/AAAA/wPEvv8DxL7/A8S+/0Xa5P9E2eP/Rdji/yTOzv8aycj/EMTB/wKalf8Cj4r/AoB8/wJy + b/8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP9kXEf/ZFxH/2RcR/9kXEf/ZFxH//Pq2//y6dr/8+rb//Hp + 2f/t5dX/6ODQ/+Pbyv/d1cP/gXdc/4F3XP9jW0b/wrmk/720n/+4r5n/saiS/6uhiv+lm4P/nZN7/5eM + c/+Rh23/Y1tG/4J3XP+Cd1z/AAAA/wPLxP9I4ez/R+Dq/0Hc5f822N//K9PX/yHO0f8Yycn/DsXC/wXA + u/8CmpX/AoJ+/wJ0cP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP9wZk//cGdP/3BmT/9wZk//cGZP/3Bm + T//z6tv/8+rb//Lq2//x6dn/7eTV/+jg0P/k28r/3dTD/4N4Xf9kXEf/ycCs/8K5pf+9s57/uK+Z/7Gn + kf+roYr/pJqC/52Sev+XjXP/ZFxH/4N4Xf+HfWL/AAAA/0nn8v9I5fD/RuPt/z/f5v802t//KdXY/x/P + 0f8Uy8n/DMbB/wPBvP8CwLr/ApuW/wJ0cf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP97cFf/e3FX/3tw + WP97cVj/e3FY/3twWP97cVj/8+rb//Pq2//y6tv/8OfY/+zk1f/o4ND/4tnJ/9vSwf/Vzbr/z8Wy/8i+ + qv/CuaT/vLOe/7atl/+wpY//qqGJ/6KXgP+bkHj/lYpx/4+Fa/+Kf2X/hntg/wAAAP9J6PP/RuXw/zzg + 6P8x2+H/J9bY/xzR0v8TzMr/CcfD/wLDvv8Cwrz/AsC6/wKblv8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AP+DeF3/g3hd/4N4Xf+DeF3/g3hd/4N4Xf+DeF3/g3hd//Pq2//z6tv/8eja/+/n2P/r49P/5t7O/+HY + x//a0cD/1My5/87Fsf/Gvan/wbij/7uxnP+1q5X/rqSO/6ieh/+hl3//mo93/5SKcP+Og2n/iX5k/4V6 + YP8AAAD/Refx/zrj6f8v3eH/Jdja/xvS0v8Qzsr/B8jE/wPFv/8Cw77/AsK8/wLAuv8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAP+DeF3/g3hd/4N4Xf+DeF3/g3hd/4N4Xf+DeF3/g3hd/4N4Xf/z6tv/8+rb//Lq + 2//u5tf/6uLS/+Xczf/g18b/2dC+/9LKt//Mwq//xbyn/7+2of+6sZv/s6qU/62kjf+nnYb/oJV9/5iO + dv+TiG//joRp/4h9Y/+Fel//AAAA/zjk6/8t3uL/Itnb/xjU0v8Nzsv/BcrE/wPHwv8AAAD/AAAA/wAA + AP8AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAP+kknH/q5l6/7Sjhf+8rJD/xLab/8u9pf/VyLH/3tK9/+fc + yv/u5dT/8+vb//Pq2//x6dr/7ubW/+ri0v/l3cz/3tXE/9jQvf9kXEf/ZFxH/2RcR/9kXEf/ZFxH/7Kp + k/+soov/pZqD/56UfP+YjXT/kodu/4yBZ/+IfWP/hHlf/wAAAP8q4OP/INvb/xXV1P8AAAD/AAAA/wAA + AP/o4dj/AAAA/wAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAP+hjmv/ppNy/62bfP+2pYf/va6T/8a4 + nv/Nv6f/1sq0/9/UwP/p383/8OfW//Pq2//y6dv/8OjZ/+3k1f/o4ND/ZFxH/2RcR/90alL/c2pS/3Rq + Uv9zalL/c2pS/2RcR/9kXEf/q6GK/6Sagv+dknr/l41z/5GGbP+LgGb/h31i/4R5Xv8AAAD/AAAA/wAA + AP+imYP/sqmX/8S8rP/a08f/AAAA/wAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAP+diWb/oo9s/6iW + df+vnn//t6eK/7+wlf/HuZ//zsGp/9jMtv/i18P/6uDP//Hn1//z6tv/8urb//Do2P9kXEf/bmVO/25l + Tv9uZU7/bmVO/25lTv9uZU7/bmVO/25lTv9uZU7/ZFxH/6qgif+imIH/m5F5/5WKcf+PhGv/in9l/4Z7 + Yf+EeV7/gndd/4h9Y/+UinP/pZyH/7Wsmv/IwLH/AAAA/wAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA + AP+diWb/nYlm/6KQbv+pl3f/saGC/7mpjP/Bspf/yLqh/9HErP/bz7n/5NnF/+zi0f/x6Nn/8+rb//Lq + 2/9kXEf/aWBK/2hgSv9oYEr/aWBK/2hfSv9oYEr/aGBK/2hgSv9oYEr/ZFxH/66kjv+onof/oZd//5qP + d/+UinD/j4Vq/4l+ZP+Ge2D/g3hd/4J3Xf+JfmX/mI93/6ifi/+3r53/AAAA/wAAACQAAAAMAAAAAAAA + AAAAAAAAAAAAAAAAAP+diWb/nYlm/56LaP+kkXD/q5l5/7Khg/+7q47/w7SZ/8q9pP/Sxa7/3NC7/+Xa + x//t5NL/8ura//Pr2//x6dr/ZFxH/2RcR/9kXEf/ZFxH/2RcR/9kXEf/ZFxH/2RcR/9kXEf/urGb/7Sr + lP+upI3/p52G/6CVff+Zj3b/k4hv/42Daf+IfWP/hXpf/4N4Xf+DeF3/jIJo/5qRev+spI//AAAA/wAA + AAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAP+diWb/nYlm/52JZv+fjGn/pZNx/6uae/+0o4X/vKyQ/8S2 + m//LvaX/1cix/93Rvf/n3Mr/7uXU//Pq2//z6tv/8enZ/+7m1v9kXEf/ZFxH/2RcR/9kXEf/ZFxH/8vB + rv/Eu6b/v7ah/7mwmv+yqJP/rKKL/6abhP+elHz/mI50/5KHbf+Mgmj/iH1j/4V6X/+Cd13/hHlf/4+E + a/+elX//AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/Pzos/15W + Q/9eVkP/XlZD/15WQ/9eVkP/zb+n/9bJs//g1cH/6d7M//Dm1v/z69v/8unb//Hp2f/t5dX/6ODQ/+Pa + yv/d1MP/1868/9DItf/Jv6z/w7ql/720n/+3rpj/saiS/6uhiv+kmoL/XVZC/11WQv9dVkL/XVZC/11W + Qv8/Oiz/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA/15WQ/9eVkL/XlZD/4N4Xf+/sZX/x7mf/8/Cqv/YzLb/4tfD/+rgz//x6Nj/8+rb//Lq + 2//w6Nj/7OTU/+ffz//i2sn/29LB/9XMuv/PxrL/yL+r/8K5pP+8s57/tq2Y/7CnkP+pn4j/opiB/4N4 + Xf9eVUP/XVZC/15VQv8AAAD/AAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/2tiTP9rYkv/g3hd/7Gggf+6q43/wbKY/8m7of/Rxa3/2s65/+PY + xf/s4tH/8ejZ//Pq2//y6tv/7+fY/+vj0//n387/4djH/9rRwP/UzLn/zsWx/8a9qf/At6L/vLOd/7Wq + lf+upY7/qJ2H/6GXf/+DeF3/a2JM/2tjTP8AAAD/AAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/3lvVv+DeF3/pJFv/6uaev+zo4T/u6yP/8O0 + mv/KvaT/0sWu/wAAAP8AAAD/7eTT//Lp2f/z6tv/8ena/+7m1//q4tL/5d3N/9/Wxv/Yz77/AAAA/wAA + AP/FvKj/v7Wh/7qwm/+0qpT/rqON/6eehv+flX3/g3hd/3lvVv8AAAD/AAAAFAAAAAQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4N4Xf+diWb/n4xp/6SS + cf+rmXr/tKOF/7yskP/Etpv/AAAA/wAAAAAAAAD/59zK/+7k1P/z69v/8unb//Hp2v/u5db/6uLS/+Tc + zP/e1cT/AAAA/wAAADAAAAD/xLum/761oP+5sJr/sqiT/6yjjP+lmoT/npR8/4N4Xf8AAAD/AAAABAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/52J + Zv+diWb/nYlm/6GPa/+mlHP/rp19/7Wlh/8AAAD/AAAAAAAAAAAAAAD/4NXB/+rgzf/w59b/8+rb//Pr + 2//w6Nn/7OTV/+jg0P/j2sr/AAAA/wAAADAAAAAQAAAA/8O5pf+9tJ//t62Y/7Gokv+roYr/pJqC/52S + ev8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAP+diWb/nYlm/52JZv+hjmz/p5R0/wAAAP8AAAAAAAAAAAAAAAAAAAD/2My2/+LX + w//q387/8efX//Tr3P/y6tv/7+bY/+zk1P/o4ND/AAAA/wAAADAAAAAQAAAAAAAAAP/CuaT/vLOe/7at + l/+wp5D/qZ+I/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/nYlm/52JZv+diWb/AAAA/wAAAAAAAAAAAAAAAAAA + AAAAAAD/0cOs/9rPuf/j2MX/7OLR//Lp2f/z6tv/8una/+/n2P/r49P/AAAA/wAAADAAAAAQAAAAAAAA + AAAAAAD/wbij/7uxnP+1q5X/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/52JZv8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD/yr2k/9LFrv/c0Lv/5drH/+3k0//y6dn/8+rb//Hp2v/u5tf/AAAA/wAA + ACQAAAAMAAAAAAAAAAAAAAAAAAAA/7+2of8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xLab/8u9pf/UyLH/3tO+/+fey//u5dT/8una//Pq + 2//x6dn/AAAA/wAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/va+T/8a4nv/NwKj/1sq0/+DV + wf/p383/8ObW//Ts3P/y6tv/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4A + AAAAAwAA/AAAAAABAAD8AAAAAAAAAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAEAAPgAAAAADwAA+AAAAAAP + AAD4AAAAAA8AAPgAAAAADwAA+AAAAAAPAAD4AAAAAA8AAPgAAAAADwAA+AAAAAAPAAD4AAAAAA8AAPgA + AAAADwAA+AAAAAAPAAD4AAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAP + AAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAA + AAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAD8AAAAAAAAAPwAA+AAAAAD/ + AAD4AAAAAP8AAPgAAAAA/wAA+AEAAAH/AAD4AwAAA/8AAPwHAAQH/wAA/g8ABg//AAD/HwAHH/8AAP+/ + AAe//wAA//8AH///AAD//wAf//8AACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAEAAAADAAAACAAAABAAAAAZAAAAJAAAAC0AAAA0AAAANwAAADcAAAA1AAAAMgAA + ADAAAAAxAAAAMwAAADUAAAA1AAAANAAAADAAAABbAAAAWgAREbcBJST/ASUk/wAKCroAAACFAAAAaAAA + AEwAAAAZAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAALAAAAFQAAACIAAAAwAAAAPQAAAEYAAABLAAAATAAA + AEoAAABHAAAARQAAAEYAAABIAAAASQAAAEoAAAC4AAAAuwAwMPABQkD/Al9d/wJ8d/8CgHz/AVxZ/wAD + A8IAAACEAAAAgwAAAFsAAAAcAAAAAAAAAAAAAAABAAAABgAAAA4AAAAZAAAAMQAAAHEAAACZAAAApgAA + AKkAAACMAAAAXwAAAFkAAAB9AAAAiAAAAIkAAACJAAAAiQEQEPkBU1D/AWBd/wFpZf8Camf/Am1q/wJy + b/8Cf3r/AlxY/wAGBtMAAACeAAAAbgAAADQAAAAAAAAAAAAAAAIAAAAGAAAADwAAAD8AAADFAAAA/wAA + AP9ERET/RERE/wAAAP8AAADYAAAAhAAAAOEAAAD/AAAA/wAAAP8AAAD/AAEB/wAWFf8BOzn/AV5b/wFk + Yf8CbGn/AnJu/wJ2cv8Cd3L/AlZT/wAJCcIAAAA2AAAADwAAAAAAAAAAAAAAAQAAAAYAAAAPAAAAkgAA + AP9lZWX/7u7u////////////7u7u/3V1df8AAADZAAAA3Lq6uv////////////////+6urr/ZWVl/wAA + AP8BMjH/AWJg/wJqZ/8CcW7/AnRx/wJxbf8CbWn/ARsb8wAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgAA + AA8AAACfMDAw////////////zs7O/87Ozv///////////1hYWPcAAADeurq6//////////////////// + ////////urq6/xATE/8BSUf/Amtn/wJxbf8CdXH/AnJv/wJpZv8BGhjzAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAAGAAAAEwAAAE0AAADbaGho94ODg+QAAACVAAAA7aqqqv//////ra2t+gAAAN26urr//////09P + T9wAAACxREVF/+7u7v//////mZmZ/wAkI/8BbGn/AnNv/wJ2cv8Cc3D/Amto/wEaGfMAAAAAAAAAAAAA + AAAAAAAAAAAAAgAAAAoAAAAgAAAAQAAAAGcAAACfAAAAtAAAAN0AAAD/mZmZ//////+7u7r/BQQD/rq6 + uv//////RUVF/gAAAHgBExP6REVF////////////ICoq/wFvbP8CdHH/AnZz/wJ1cf8CbWn/ARoZ8wAA + AAAAAAAAAAAAAAAAAAAAAAACAAAAEAAAAC8AAABXAAAAywAAAOwAAAD/VVVV/7q6uv///////////3l5 + eP8PDgv/urq6//////9KSUj+AAAAfAAcHPgAGhn/3t7e//////9lZmb/AXRx/wJ5df8Cenb/Andz/wJv + a/8BGhrzAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAATAAAAPQgIBd4AAAD/MDAw/97e3v////////////// + //+7u7r/Mi8n/xAPC/+6urr//////0pKSP4AAACEAR0c+QAoJ/+6urr//////3V2dv8Cenf/An56/wJ9 + eP8CeXX/AnFt/wEbGvMAAAAAAAAAAAAAAAIAAAAHAAAACwAAAB0MDArQIh8Y/wAAAP/u7u7///////// + //+ampr9X15c/zYxJv9FPzH/ERAM/7q6uv//////S0tJ/gAAAIgAGBj6AAkJ/97e3v//////dXh4/wKE + f/8ChYH/AoF8/wJ8eP8Cc2//ARsb8wAAAAAAAAAAAAAACQAAABkAAAAkAQEBtEhCM/8kIBn/RERE//// + ////////NTU16QAAAMUdGxX/NjEm/0xGNf8VFA//urq6//////9MS0r+AAAAmwAHBv9ERET///////// + //8gOzr/Ao+K/wKNif8ChYH/AoB8/wJ0cf8BGxvzAAAAAAAAAAAAAAAOAAAAKwAAADoDAwHDVk48/yon + Hv8wMDD///////////8lJCP/AAAA/DAwMP9lZWX/MzAm/xwaFf+6urr//////0hHRv4AAAD9VVVV/+7u + 7v//////mZmZ/wFUUf8Cm5X/ApWR/wKJhv8Cg3//And0/wEcG/QAAAAAAAAAAAAAABAAAAAvAAAAQQEB + Ab9gV0T/RD0v/wAAAP/Ozs7//////+7u7v+6urr///////////9qaGX/Ih8Z/7q6uv////////////// + /////////////87Ozv8QMDD/ApiT/wKmof8CnZn/Ao6J/wKFgf8CeXX/AR0c9AAAAAAAAAAAAAAAlQAA + AKUAAACtAQAB5WVbRf+elIH/SUVA/zAwMP+6urr/////////////////mZmZ/01JQP8hHxn/urq6//// + /////////////97e3v91dXX/ETc2/wKRjP8Craf/ALGr/wGkn/8Cko3/AoiD/wJ7d/8BHRz0AAAAAAAA + AAAWFBD/TUY3/01HNv8QDwr/qJ+L//Pr3v/a08T/fHdt/yMgGv8zMS3/U1JO/zo3Mv9taFv/lYt4/05K + Pv82Min/NTAn/ykmHf8rJx7/AxcW/wKDfv8Cr6n/ALWv/wC2sP8Ov7z/Cq2p/wGTjv8Ci4f/An15/wEd + HfQAAAAAAAAAAB8cFflnX0n/Y1tG/0hCNP/07N7/8una/+vj1P/m39D/1s28/4d9Zf9mXUX/mpF+/7mw + m/+rooz/opiC/5eNdv+Rh27/bmVP/3luVv8GNzX/AMvE/wPBu/8jzM7/JczO/zfS2P8iw8X/AZ2Y/wKL + hf8Cfnv/AR4d9AAAAAAAAAAAIyAZ+XhvVf9wZk//cGZO/52Tf//47+H/8+vc/+zk1P/p4dH/18+9/4F4 + YP+soo7/xLum/7eumP+upI3/pJqC/5yRev94b1j/gXhd/wc/PP8o6uz/QNvk/0Xd5v84197/IMzO/xLJ + x/8HwLv/AZuW/wJ+ev8BHRz0AAAAAAAAAAAoJR35iX1h/390Wv9/dFr/dWpQ/6OZgv/37t//8uja/+3l + 1v/n387/4tnI/9bMuv/Kwaz/w7qm/7qwmv+wppD/o5iC/5uQd/+Qhmz/NDw1/0HI0P9N8/7/O93l/yvX + 2/8e0NH/EMnG/wXFwP8Cw73/AqGc/wEhIPQAAAAAAAAAACsnHvmUh2n/jIBk/42CZ/+QhGr/iHxh/7ux + nP/58eL/8ena/+vj1P/k28r/49rI/9LJtv+1q5f/r6aR/6ifif+xqJH/pJmB/5eMdP+Og2n/Oj40/zi7 + xP888vn/Kdnb/xvU1P8N2db/BNLN/wK4sv8CubT/AS4s5wAAAAAAAAAANC4i+bWgff+1pIb/wrOX/8/B + qP/c0Lr/593L//Ho2P/z6tz/8OfY//Lq2v+/tqT/i4Nt/2NaRP9oX0n/aWFK/4iAav+hl4D/oZd//5aL + cv+Ngmj/Pz0x/yixtf8q9/r/F9bV/wWCf/8Dfnr/GCAf/QAAALgAAAA4AAAAAAAAAAAxKyD5rJdx/6qY + d/+1pYj/wbOY/8y/pv/bz7n/6d/M//Lo2v/58eP/yMCw/11UPv9nXUb/cWdQ/3BmT/9vZk//Zl1G/2ti + Tf+nnIX/nZN7/5OIb/+LgGf/QkY6/wtISP8XQDz/c2xd/5CKff8/PTj6AAAAGQAAAAkAAAAAAAAAADMs + IPmqlW7/o5Fv/66cfP+5qYz/xbeb/9LFrf/f077/6+HQ//fu3//e1sb/bGRP/1xUPv9lXEf/ZFtG/2Rc + Rv9dVUD/fXVg/7Gnkf+mnIT/m5B4/5KIbv+Kf2X/hXlf/4N3Xf+Qhmz/t62W/zo4MvkAAAAHAAAAAgAA + AAAAAAAALScd/5mFY/+OfF3/m4pp/6eXev+yo4f/uKuT/83Aqv/i1sP/7ePS//rx4//n3s//sKiW/2lh + TP9vZ1P/cWlU/7GnlP++taD/uK+Z/66kjf+kmYL/kYhv/4h+Zf+FemD/gXZc/3pvV/+SiHH/Lywn/wAA + AAAAAAAAAAAAAAAAAAAAAACOAAAAkQAAAJEWFBDdW1NB/1hQPf9sYkz/t6mR/9nMtv/k2cb/8unY//fu + 4P/17d7/7+fX/+fezv/e1cP/08q4/8rArP+/tqH/tayW/66ljf+Hfmj/Y1pF/1xUQf9MRTX/BwYEwgAA + AJoAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlkXEf/d2xU/7Kig//EtZn/yr6k/+DV + vv/Vy7v/6+LT//Ts3f/w6Nj/6uLS/+LZyP/Z0L7/wrqn/7uzn//DuaP/saiS/66jjP+VinD/cmhQ/0Q/ + MP8AAABZAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICsH50Wf+ejWv/rJp6/7Wl + iP/Ov6P/lox7/wAAAL2fmIz//vTk//Pq3P/u5tf/6eDQ//Dm1f87OTT4GRgXzLuyn//At6H/saeR/6mf + iP+bj3X/VU48/wAAAFkAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwKkk4Fh/6OO + av+hj23/uaaF/4l+aP8FBANoAAAAP5qShf/47tv/8+rb//Pq2//t5db/9+7c/0dEPvcAAAA2HhwZvLy0 + n/++tJ7/raOO/7Spj/9hWkr/AAAATQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAQhHBXCmYZj/6qVb/99blX/AAAAcwAAAAAAAABTkol6/+zhzP/u5NP/9Ovc//Ho2v/99OP/SUdC+wAA + ACUAAAAMJyUhwruynv/GvKT/hH1r/wMDA3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAkgHBW+eGlO/wUEA3oAAAAAAAAAAAAAAFKLgnH/4dO8/+Xaxv/w59b/8+rb///5 + 6f9LSUT5AAAAEgAAAAQAAAAJKCYivpGJev8HBwZ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABxAAAAAAAAAAAAAAAAAAAAUY6Db//k1bn/59vE//ft + 2f//+Of////9/1JPSvoAAAAGAAAAAAAAAAAAAAAKAAAAcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPKCUf+UI9 + NflCPjf5R0Q9+UtIQ/lRUEv5GBcW9AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAwAAAAcAAAADAAAAAwAAAAMAAAAPAAAADwAAAA8AAAAPAAAADwAAAAwAA + AAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAPAAAAD+AA + AA/gAAAf4AAAP+BAAH/wwAD/+cAZ///AH/8oAAAAEAAAACAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAVFO/wFR + Tv8AAABAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wLP + yf8Brqn/AVFO/wAAAEAAAAAAAAAAAAAAAP+/v7////////////9BQUH/AAAA/7+/v///////v7+//0FB + Qf8AAAD/Aa6p/wKCfv8BUU7/AAAAAAAAAAAAAAD/AAAA/0FBQf+/v7//v7+//wAAAP//////AAAA/0FB + Qf+/v7//AAAA/wGuqf8Cgn7/AVFO/wAAAAAAAABAAAAA/0FBQf+/v7//v7+//0FBQf8AAAD//////wAA + AP8AAAD//////wAAAP8Brqn/AoJ+/wFRTv8AAAAATEc7/wAAAP+/v7//v7+//0FBQf8AAAD/AAAA//// + //8AAAD/QUFB/7+/v/8AAAD/Aa6p/wKCfv8BUU7/AAAAQExHO/8AAAD/QUFB////////////v7+//wAA + AP+/v7///////7+/v/9BQUH/AAAA/wGuqf8Cgn7/AVFO/wAAAP9MRzv/zcSz/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/zDv8/8w7/P/AoJ+/wFRTv9MRzv/TEc7/0xHO//w6Nn/6N/P/7iu + mv/Hvan/uK+Y/5iOdv+IfWL/AVFO/zDv8/8w7/P/MO/z/zDv8/8BUU7/TEc7/6mbff+mmoD/1827//fu + 4P/p4ND/TEc7/0xHO/+mnIX/mI11/4Z7YP8BUU7/MPD0/zDv8/8BUU7/AVFO/0xHO//Gso3/0MCm/+ba + xf/68eH/urKg/0xHO/9MRzv/dGtW/6OZgv9KRTj/RD4x/wFRTv8BUU7/AAAAAAAAAABMRzv/TEc7/0xH + O/+onIX/6N3K//Lo2P+3r53/n5eD/7WtmP++tZ7/mpB4/0xHO/9MRzv/TEc7/wAAAAAAAAAAAAAAAExH + O/9tYkv/q5t9/8e5ov9MRzv/+fHi//fu3v9MRzv/kYp7/7uxmv+Qhm3/TEc7/wAAAAAAAAAAAAAAAAAA + AABMRzv/fm9U/Lahff9MRzv/TEc7/+7k1P/+9eX/TEc7/0xHO/+imoj7urCW/0xHO/8AAAAAAAAAAAAA + AAAAAAAAAAAAAExHO/9MRzv/AAAAAExHO//r38f////y/0xHO/8AAAAATEc7/0xHO/8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMRzv/TEc7/0xHO/9MRzv/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMABAADAAAAAwAAAAsAAABCAAAAvgAAAVwAAAMsAAADsAAAA/wAAVf8AA7r/AAP//4AH + //+AB3j/yE8L//h/uv8= + + + \ No newline at end of file diff --git a/data/templates/project/VBNet/ProjectCategorySortOrder.xml b/data/templates/project/VB/ProjectCategorySortOrder.xml similarity index 75% rename from data/templates/project/VBNet/ProjectCategorySortOrder.xml rename to data/templates/project/VB/ProjectCategorySortOrder.xml index 117d6a82d2..6b3a62d232 100644 --- a/data/templates/project/VBNet/ProjectCategorySortOrder.xml +++ b/data/templates/project/VB/ProjectCategorySortOrder.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/data/templates/project/VBNet/Service.xpt b/data/templates/project/VB/Service.xpt similarity index 99% rename from data/templates/project/VBNet/Service.xpt rename to data/templates/project/VB/Service.xpt index c50629aa72..b6101d2692 100644 --- a/data/templates/project/VBNet/Service.xpt +++ b/data/templates/project/VB/Service.xpt @@ -6,7 +6,7 @@ ${res:Templates.Project.WindowsService.Name} - VBNet + VB ${res:Templates.File.Categories.WindowsApplications} VBNet.Project.ServiceProject ${res:Templates.Project.WindowsService.Description} diff --git a/data/templates/project/VBNet/SharedAddin.xpt b/data/templates/project/VB/SharedAddin.xpt similarity index 99% rename from data/templates/project/VBNet/SharedAddin.xpt rename to data/templates/project/VB/SharedAddin.xpt index 74dfa62698..456cc0ef58 100644 --- a/data/templates/project/VBNet/SharedAddin.xpt +++ b/data/templates/project/VB/SharedAddin.xpt @@ -10,7 +10,7 @@ --> ${res:Templates.Project.SharedAddin.Name} - VBNet + VB VBNet.Project.Library ${res:Templates.Project.SharedAddin.Description} v2.0 diff --git a/data/templates/project/VBNet/SharpDevelopAddin.xpt b/data/templates/project/VB/SharpDevelopAddin.xpt similarity index 99% rename from data/templates/project/VBNet/SharpDevelopAddin.xpt rename to data/templates/project/VB/SharpDevelopAddin.xpt index b3e9e93638..e4edf19662 100644 --- a/data/templates/project/VBNet/SharpDevelopAddin.xpt +++ b/data/templates/project/VB/SharpDevelopAddin.xpt @@ -6,7 +6,7 @@ ${res:Templates.Project.SharpDevelopAddin.Name} - VBNet + VB SharpDevelop VBNet.Project.ControlLibrary ${res:Templates.Project.SharpDevelopAddin.Description} diff --git a/data/templates/project/VB/SharpDevelopCustomTool.xpt b/data/templates/project/VB/SharpDevelopCustomTool.xpt new file mode 100644 index 0000000000..af7de5b39e --- /dev/null +++ b/data/templates/project/VB/SharpDevelopCustomTool.xpt @@ -0,0 +1,182 @@ + + diff --git a/data/templates/project/VB/SharpDevelopCustomToolTemplate.xft.xml b/data/templates/project/VB/SharpDevelopCustomToolTemplate.xft.xml new file mode 100644 index 0000000000..01f211dcc4 --- /dev/null +++ b/data/templates/project/VB/SharpDevelopCustomToolTemplate.xft.xml @@ -0,0 +1,27 @@ + + diff --git a/data/templates/project/VBNet/SharpDevelopMacro.xpt b/data/templates/project/VB/SharpDevelopMacro.xpt similarity index 99% rename from data/templates/project/VBNet/SharpDevelopMacro.xpt rename to data/templates/project/VB/SharpDevelopMacro.xpt index a29347b22c..b23a7db187 100644 --- a/data/templates/project/VBNet/SharpDevelopMacro.xpt +++ b/data/templates/project/VB/SharpDevelopMacro.xpt @@ -6,7 +6,7 @@ ${res:Templates.Project.SharpDevelopMacro.Name} - VBNet + VB SharpDevelop VBNet.Project.ControlLibrary ${res:Templates.Project.SharpDevelopMacro.Description} diff --git a/data/templates/project/VB/SilverlightApplication.xpt b/data/templates/project/VB/SilverlightApplication.xpt new file mode 100644 index 0000000000..7de877d59f --- /dev/null +++ b/data/templates/project/VB/SilverlightApplication.xpt @@ -0,0 +1,169 @@ + \ No newline at end of file diff --git a/data/templates/project/VB/WPFApplication.xpt b/data/templates/project/VB/WPFApplication.xpt new file mode 100644 index 0000000000..e1b9df2129 --- /dev/null +++ b/data/templates/project/VB/WPFApplication.xpt @@ -0,0 +1,99 @@ + + diff --git a/data/templates/project/VB/WPFAssemblyInfo.vb b/data/templates/project/VB/WPFAssemblyInfo.vb new file mode 100644 index 0000000000..1943cba97e --- /dev/null +++ b/data/templates/project/VB/WPFAssemblyInfo.vb @@ -0,0 +1,25 @@ +#Region "Imports directives" + +Imports System.Resources +Imports System.Windows + +#End Region + + + +' In order to begin building localizable applications, set +' CultureYouAreCodingWith in your .vbproj file +' inside a . For example, if you are using US english +' in your source files, set the to en-US. Then uncomment +' the NeutralResourceLanguage attribute below. Update the "en-US" in +' the line below to match the UICulture setting in the project file. + +' + +' themeDictionaryLocation = where theme specific resource dictionaries are located +' (used if a resource is not found in the page, +' or application resource dictionaries) +' genericDictionaryLocation = where the generic resource dictionary is located +' (used if a resource is not found in the page, +' app, or any theme specific resource dictionaries) + diff --git a/data/templates/project/VB/WPFNavigationApplication.xpt b/data/templates/project/VB/WPFNavigationApplication.xpt new file mode 100644 index 0000000000..4993b4f838 --- /dev/null +++ b/data/templates/project/VB/WPFNavigationApplication.xpt @@ -0,0 +1,103 @@ + + diff --git a/data/templates/project/VB/WebService.xpt b/data/templates/project/VB/WebService.xpt new file mode 100644 index 0000000000..bb1b2323b0 --- /dev/null +++ b/data/templates/project/VB/WebService.xpt @@ -0,0 +1,126 @@ + + diff --git a/data/templates/project/VB/WebpageProject.xpt b/data/templates/project/VB/WebpageProject.xpt new file mode 100644 index 0000000000..caeabb7de6 --- /dev/null +++ b/data/templates/project/VB/WebpageProject.xpt @@ -0,0 +1,443 @@ + + diff --git a/doc/ChangeLog.template.html b/doc/ChangeLog.template.html index ce78178d1f..8321a86ef9 100644 --- a/doc/ChangeLog.template.html +++ b/doc/ChangeLog.template.html @@ -6,10 +6,20 @@

SharpDevelop $INSERTVERSION$ ($INSERTDATE$)

    -
  • Update NUnit to version 2.5.8
  • -
  • Update to Boo 0.9.4 (pre-release build) for .NET 4
  • +
  • Bug fixes
  • +
+

+ +

+ SharpDevelop 4.0 Beta 4 [4.0.0.6842] (10/26/2010) +

    +
  • Bug fixes
  • +
  • SharpDevelop Reports: Grouping support in table layouts, automatic page break after group + more
  • Improvements to IronPython code completion
  • Added back Chinese and Russian translations
  • +
  • Update to Boo 0.9.4 (pre-release build) for .NET 4
  • +
  • Update NUnit to version 2.5.8
  • +
  • Update to IronPython 2.6.2

diff --git a/src/AddIns/Analysis/Profiler/Controller/Profiler.cs b/src/AddIns/Analysis/Profiler/Controller/Profiler.cs index b033320fd7..138cf1aad2 100644 --- a/src/AddIns/Analysis/Profiler/Controller/Profiler.cs +++ b/src/AddIns/Analysis/Profiler/Controller/Profiler.cs @@ -559,7 +559,12 @@ namespace ICSharpCode.Profiler.Controller bool AllThreadsWait32() { - this.threadListMutex.WaitOne(); + try { + this.threadListMutex.WaitOne(); + } catch (AbandonedMutexException) { + // profilee crashed while holding the thread list mutex + return true; + } bool isWaiting = true; diff --git a/src/AddIns/Analysis/UnitTesting/UnitTesting.addin b/src/AddIns/Analysis/UnitTesting/UnitTesting.addin index aa4ab95bed..9e7d8f16d8 100644 --- a/src/AddIns/Analysis/UnitTesting/UnitTesting.addin +++ b/src/AddIns/Analysis/UnitTesting/UnitTesting.addin @@ -20,7 +20,7 @@ + supportedProjects=".csproj;.vbproj;.booproj" /> diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.addin b/src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.addin index ba0c54eeb8..363de2765e 100644 --- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.addin +++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.addin @@ -158,6 +158,7 @@ + diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/InteractiveInterpreter.cs b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/InteractiveInterpreter.cs index 47edc53a11..ba44cbd1e7 100644 --- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/InteractiveInterpreter.cs +++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/InteractiveInterpreter.cs @@ -3,7 +3,9 @@ using System; using System.Reflection; +using Boo.Lang.Compiler; using Boo.Lang.Interpreter; +using Boo.Lang.Interpreter.Builtins; using ICSharpCode.SharpDevelop.Gui; namespace Grunwald.BooBinding @@ -72,7 +74,12 @@ namespace Grunwald.BooBinding } processing = true; try { - interpreter.Eval(command); + CompilerContext results = interpreter.Eval(command); + if (results.Errors.Count > 0) { + PrintLine("ERROR: " + results.Errors[0].Message); + } else if (interpreter.LastValue != null) { + PrintLine(ReprModule.repr(interpreter.LastValue)); + } } catch (System.Reflection.TargetInvocationException ex) { PrintLine(ex.InnerException); } diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/MyNamespaceSupportForCSharp.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/MyNamespaceSupportForCSharp.cs index 161a23af38..4724007db8 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/MyNamespaceSupportForCSharp.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/MyNamespaceSupportForCSharp.cs @@ -1,7 +1,4 @@ -// 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; using System.Collections.Generic; using System.Diagnostics; #if WindowsApplication diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpBracketSearcher.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpBracketSearcher.cs index 0ca4a07dc2..58f4a84154 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpBracketSearcher.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpBracketSearcher.cs @@ -59,12 +59,13 @@ namespace CSharpBinding bool inString = false; bool inChar = false; bool verbatim = false; + int result = 0; for(int i = linestart; i < offset; i++) { switch (document.GetCharAt(i)) { case '/': if (!inString && !inChar && i + 1 < document.TextLength) { if (document.GetCharAt(i + 1) == '/') { - return 1; + result = 1; } } break; @@ -92,7 +93,8 @@ namespace CSharpBinding break; } } - return (inString || inChar) ? 2 : 0; + + return (inString || inChar) ? 2 : result; } #endregion @@ -112,8 +114,8 @@ namespace CSharpBinding // we need to know where offset is - in a string/comment or in normal code? // ignore cases where offset is in a block comment int starttype = GetStartType(document, linestart, offset + 1); - if (starttype != 0) { - return -1; // start position is in a comment/string + if (starttype == 1) { + return -1; // start position is in a comment } // I don't see any possibility to parse a C# document backwards... @@ -336,4 +338,4 @@ namespace CSharpBinding return -1; } } -} +} \ No newline at end of file diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs index cfa8cd2e08..5f7adc39c0 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingStrategy.cs @@ -313,7 +313,7 @@ namespace CSharpBinding.FormattingStrategy case '>': if (IsInsideDocumentationComment(textArea, curLine, cursorOffset)) { curLineText = curLine.Text; - int column = textArea.Caret.Offset - curLine.Offset; + int column = cursorOffset - curLine.Offset; int index = Math.Min(column - 1, curLineText.Length - 1); while (index >= 0 && curLineText[index] != '<') { @@ -332,7 +332,7 @@ namespace CSharpBinding.FormattingStrategy tag += ">"; } if (!tag.StartsWith("/")) { - textArea.Document.Insert(textArea.Caret.Offset, " +Project Contacts: + Jimmy Schementi + Miguel de Icaza + Tomas Matousek == About IronRuby is a Open Source implementation of the Ruby programming language -(http://www.ruby-lang.org) for .NET, heavily relying on Microsoft's +(http://www.ruby-lang.org) for .NET, heavily relying on the Dynamic Language Runtime (http://dlr.codeplex.com). The project's #1 goal is to be a true Ruby implementation, meaning it runs @@ -34,7 +37,6 @@ Will run rubyfile.rb with the IronRuby compiler. /bin IronRuby binaries, ir.exe, iirb, irake, igem, iri, irdoc, etc. /lib Ruby standard library, including RubyGems - /silverlight Silverlight binaries and scripts CHANGELOG.txt Changes for each release RELEASE.txt Release notes LICENSE.Ruby.txt Ruby license diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.Libraries.Yaml.dll b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.Libraries.Yaml.dll index 409559fa5d..3a351f1a6c 100644 Binary files a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.Libraries.Yaml.dll and b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.Libraries.Yaml.dll differ diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.Libraries.dll b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.Libraries.dll index 6724e3fe4f..413acf2e70 100644 Binary files a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.Libraries.dll and b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.Libraries.dll differ diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.dll b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.dll index df108db7d2..8c262ef188 100644 Binary files a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.dll and b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/IronRuby.dll differ diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Dynamic.dll b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Dynamic.dll index 6ff8a02cff..bbc29cc3a5 100644 Binary files a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Dynamic.dll and b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Dynamic.dll differ diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.Debugging.dll b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.Debugging.dll deleted file mode 100644 index c6519f2eb8..0000000000 Binary files a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.Debugging.dll and /dev/null differ diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.Metadata.dll b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.Metadata.dll index 96a584b517..8c04525ceb 100644 Binary files a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.Metadata.dll and b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.Metadata.dll differ diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.dll b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.dll index ef9f62ba30..9d87a5b7f5 100644 Binary files a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.dll and b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/Microsoft.Scripting.dll differ diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/ir.exe b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/ir.exe index 75a660e9fb..0a3f93cbf5 100644 Binary files a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/ir.exe and b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/ir.exe differ diff --git a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/ir.exe.config b/src/AddIns/BackendBindings/Ruby/IronRuby/bin/ir.exe.config deleted file mode 100644 index 558d6a9847..0000000000 --- a/src/AddIns/BackendBindings/Ruby/IronRuby/bin/ir.exe.config +++ /dev/null @@ -1,17 +0,0 @@ - - - -
- - - - - - - - - - - - - diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding.sln b/src/AddIns/BackendBindings/Ruby/RubyBinding.sln index 13193abf19..c10342e394 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding.sln +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.0.0.6737 +# SharpDevelop 4.0.0.6808 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding.Tests", "RubyBinding\Test\RubyBinding.Tests.csproj", "{01DF0475-0CB2-4E81-971B-BADC60CDE3A5}" diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj index bf3288f270..00f139bd6d 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj @@ -136,10 +136,6 @@ Chiron.exe.config Always - - ir.exe.config - Always - LICENSE.APACHE.html Always diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyAstWalker.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyAstWalker.cs index 20da10e588..d0762c4e1c 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyAstWalker.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyAstWalker.cs @@ -17,6 +17,11 @@ namespace ICSharpCode.RubyBinding { public class RubyAstWalker : Walker { + /// + /// Length of "def". + /// + const int MethodDefinitionLength = 3; + DefaultCompilationUnit compilationUnit; DefaultClass currentClass; DefaultClass globalClass; @@ -146,13 +151,35 @@ namespace ICSharpCode.RubyBinding /// DomRegion GetMethodRegion(MethodDefinition methodDef) { - SourceLocation parametersEndLocation = methodDef.Parameters.Location.End; - if (ParametersEndLocationNeedsCorrecting(parametersEndLocation)) { - parametersEndLocation = CorrectParametersEndLocation(parametersEndLocation); - } + SourceLocation parametersEndLocation = GetParametersEndLocation(methodDef); return CreateRegion(methodDef.Location.Start, parametersEndLocation); } + SourceLocation GetParametersEndLocation(MethodDefinition methodDef) + { + SourceLocation parametersEndLocation = methodDef.Parameters.Location.End; + if (parametersEndLocation.IsValid) { + if (ParametersEndLocationNeedsCorrecting(parametersEndLocation)) { + parametersEndLocation = CorrectParametersEndLocation(parametersEndLocation); + } + } else { + return GetParametersEndLocationBasedOnMethodNameEnd(methodDef); + } + return parametersEndLocation; + } + + SourceLocation GetParametersEndLocationBasedOnMethodNameEnd(MethodDefinition methodDef) + { + const int methodParenthesesLength = 2; + const int spaceLength = 1; + int methodDefinitionLength = methodDef.Name.Length + MethodDefinitionLength + methodParenthesesLength + spaceLength; + SourceLocation methodStartLocation = methodDef.Location.Start; + int index = methodStartLocation.Index + methodDefinitionLength; + int column = methodStartLocation.Column + methodDefinitionLength; + int line = methodStartLocation.Line; + return new SourceLocation(index, line, column); + } + /// /// Returns true if the IronRuby parser has not found the closing bracket for a method /// and moved to the next line. diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyCodeDeserializer.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyCodeDeserializer.cs index 46df2b2a63..4fd3765e04 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyCodeDeserializer.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyCodeDeserializer.cs @@ -52,9 +52,10 @@ namespace ICSharpCode.RubyBinding public object Deserialize(string name, MethodCall methodCall) { - if (methodCall.Target is ArrayItemAccess) { - return DeserializeCreateArrayExpression(name, methodCall); - } else if ("new".Equals(methodCall.MethodName, StringComparison.InvariantCultureIgnoreCase)) { + if ("new".Equals(methodCall.MethodName, StringComparison.InvariantCultureIgnoreCase)) { + if (IsArrayCreation(methodCall)) { + return DeserializeCreateArrayExpression(name, methodCall); + } return CreateInstance(name, methodCall); } else if ("|".Equals(methodCall.MethodName)) { return DeserializeBitwiseOr(methodCall); @@ -62,11 +63,20 @@ namespace ICSharpCode.RubyBinding return CreateInstance(name, methodCall); } + bool IsArrayCreation(MethodCall methodCall) + { + MethodCall targetMethodCall = methodCall.Target as MethodCall; + if (targetMethodCall != null) { + return targetMethodCall.MethodName == "[]"; + } + return false; + } + public static object Deserialize(StringConstructor stringConstructor) { if (stringConstructor.Parts.Count > 0) { StringLiteral literal = stringConstructor.Parts[0] as StringLiteral; - MutableString mutableString = literal.GetMutableString(RubyEncoding.UTF8); + MutableString mutableString = literal.GetMutableString(); return mutableString.ConvertToString(); } return String.Empty; @@ -171,7 +181,7 @@ namespace ICSharpCode.RubyBinding Type GetType(RubyControlFieldExpression field) { string typeName = field.FullMemberName; - if (!string.IsNullOrEmpty(typeName)) { + if (!String.IsNullOrEmpty(typeName)) { return componentCreator.GetType(typeName); } return null; @@ -184,8 +194,8 @@ namespace ICSharpCode.RubyBinding /// object DeserializeCreateArrayExpression(string name, MethodCall methodCall) { - ArrayItemAccess arrayAccess = methodCall.Target as ArrayItemAccess; - ConstantVariable constantVariable = arrayAccess.Arguments.Expressions[0] as ConstantVariable; + MethodCall arrayCreationMethodCall = methodCall.Target as MethodCall; + ConstantVariable constantVariable = arrayCreationMethodCall.Arguments.Expressions[0] as ConstantVariable; string arrayTypeName = RubyControlFieldExpression.GetQualifiedName(constantVariable); ArrayConstructor arrayConstructor = methodCall.Arguments.Expressions[0] as ArrayConstructor; @@ -198,7 +208,7 @@ namespace ICSharpCode.RubyBinding object instance = Deserialize(arrayItemExpression); array.SetValue(instance, i); } - return array; + return array; } object Deserialize(SelfReference selfRef) diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleApplication.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleApplication.cs index 84603d0867..19ea3be143 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleApplication.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleApplication.cs @@ -31,6 +31,7 @@ namespace ICSharpCode.RubyBinding protected override void AddArguments(ScriptingCommandLineBuilder commandLine) { + commandLine.AppendOption("--disable-gems"); commandLine.AppendBooleanOptionIfTrue("-D", Debug); AppendLoadPaths(commandLine); commandLine.AppendQuotedStringIfNotEmpty(ScriptFileName); diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyControlFieldExpression.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyControlFieldExpression.cs index 442244e765..eff448fddf 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyControlFieldExpression.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyControlFieldExpression.cs @@ -286,7 +286,7 @@ namespace ICSharpCode.RubyBinding MethodCall clrMemberMethodCall = methodCall.Target as MethodCall; SymbolLiteral literal = clrMemberMethodCall.Arguments.Expressions[1] as SymbolLiteral; - MutableString mutableString = literal.GetMutableString(RubyEncoding.UTF8); + MutableString mutableString = literal.GetMutableString(); string methodBeingCalledByClrMemberMethod = mutableString.ConvertToString(); // Remove two members since these are 'clr_member' and 'call'. diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/ConsoleProject.xpt b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/ConsoleProject.xpt index e1b9ca0957..b614c15bf7 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/ConsoleProject.xpt +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/ConsoleProject.xpt @@ -22,14 +22,14 @@ True - -1.9 -D Program.rb + --disable-gems -D Program.rb .\ Program ${addinpath:ICSharpCode.RubyBinding}\ir.exe - -1.9 Program.rb + --disable-gems Program.rb .\ Program ${addinpath:ICSharpCode.RubyBinding}\ir.exe diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/FormsProject.xpt b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/FormsProject.xpt index ef89c1ee42..c5128f5bf6 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/FormsProject.xpt +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/FormsProject.xpt @@ -21,14 +21,14 @@ True - -1.9 -D Program.rb + --disable-gems -D Program.rb .\ Program ${addinpath:ICSharpCode.RubyBinding}\ir.exe - -1.9 Program.rb + --disable-gems Program.rb .\ Program ${addinpath:ICSharpCode.RubyBinding}\ir.exe diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/WPFApplication.xpt b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/WPFApplication.xpt index 01f864c4fa..a165b84dce 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/WPFApplication.xpt +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Templates/WPFApplication.xpt @@ -19,7 +19,7 @@ WinExe Application.rb True - -1.9 -D Application.rb + --disable-gems -D Application.rb .\ Program ${addinpath:ICSharpCode.RubyBinding}\ir.exe @@ -28,7 +28,7 @@ WinExe Application.rb - -1.9 Application.py + --disable-gems Application.py .\ Program ${addinpath:ICSharpCode.RubyBinding}\ir.exe diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Gui/DebugRunRubyCommandTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Gui/DebugRunRubyCommandTests.cs index 1f8fd8ccac..7a244b1d01 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Gui/DebugRunRubyCommandTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Gui/DebugRunRubyCommandTests.cs @@ -52,7 +52,7 @@ namespace RubyBinding.Tests.Gui public void Run_RubyFileOpen_ProcessInfoArgsHasDebugArgument() { string arguments = debugger.ProcessStartInfo.Arguments; - string expectedArguments = "-D \"test.rb\""; + string expectedArguments = "--disable-gems -D \"test.rb\""; Assert.AreEqual(expectedArguments, arguments); } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Gui/RunRubyCommandTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Gui/RunRubyCommandTests.cs index 39224b6d95..2a62029bee 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Gui/RunRubyCommandTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Gui/RunRubyCommandTests.cs @@ -62,7 +62,7 @@ namespace RubyBinding.Tests.Gui public void Run_RubyFileOpen_ProcessInfoArgsContainsFileNameActiveInTextEditor() { string arguments = debugger.ProcessStartInfo.Arguments; - string expectedArguments = "/c \"\"C:\\IronRuby\\ir.exe\" \"test.rb\"\" & pause"; + string expectedArguments = "/c \"\"C:\\IronRuby\\ir.exe\" --disable-gems \"test.rb\"\" & pause"; Assert.AreEqual(expectedArguments, arguments); } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Parsing/ParseClassMethodWithBodyTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Parsing/ParseClassMethodWithBodyTestFixture.cs index 3d9ea88eab..bbed579702 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Parsing/ParseClassMethodWithBodyTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Parsing/ParseClassMethodWithBodyTestFixture.cs @@ -68,7 +68,7 @@ namespace RubyBinding.Tests.Parsing public void MethodBodyRegion() { int startLine = 2; - int startColumn = 11; // IronRuby parser includes the as part of the method parameters + int startColumn = 11; int endLine = 4; int endColumn = 5; DomRegion region = new DomRegion(startLine, startColumn, endLine, endColumn); @@ -84,7 +84,7 @@ namespace RubyBinding.Tests.Parsing int startLine = 2; int startColumn = 2; int endLine = 2; - int endColumn = 11; // IronRuby parser includes the as part of the method parameters + int endColumn = 11; DomRegion region = new DomRegion(startLine, startColumn, endLine, endColumn); Assert.AreEqual(region.ToString(), method.Region.ToString()); } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyConsoleApplicationTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyConsoleApplicationTests.cs index 02e43e0ff0..54ea7e707c 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyConsoleApplicationTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyConsoleApplicationTests.cs @@ -33,11 +33,11 @@ namespace RubyBinding.Tests.Testing } [Test] - public void GetArguments_DebugIsTrue_ReturnsDebugOption() + public void GetArguments_DebugIsTrue_ReturnsDisableGemsAndDebugOption() { app.Debug = true; string args = app.GetArguments(); - string expectedCommandLine = "-D"; + string expectedCommandLine = "--disable-gems -D"; Assert.AreEqual(expectedCommandLine, args); } @@ -47,7 +47,7 @@ namespace RubyBinding.Tests.Testing { app.ScriptFileName = @"d:\projects\my ruby\test.rb"; string args = app.GetArguments(); - string expectedCommandLine = "\"d:\\projects\\my ruby\\test.rb\""; + string expectedCommandLine = "--disable-gems \"d:\\projects\\my ruby\\test.rb\""; Assert.AreEqual(expectedCommandLine, args); } @@ -61,7 +61,7 @@ namespace RubyBinding.Tests.Testing string args = app.GetArguments(); string expectedCommandLine = - "-D \"d:\\projects\\my ruby\\test.rb\" -- responseFile.txt"; + "--disable-gems -D \"d:\\projects\\my ruby\\test.rb\" -- responseFile.txt"; Assert.AreEqual(expectedCommandLine, args); } @@ -80,7 +80,7 @@ namespace RubyBinding.Tests.Testing { app.Debug = true; ProcessStartInfo startInfo = app.GetProcessStartInfo(); - string expectedCommandLine = "-D"; + string expectedCommandLine = "--disable-gems -D"; Assert.AreEqual(expectedCommandLine, startInfo.Arguments); } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestDebuggerRunsSelectedTestMethodTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestDebuggerRunsSelectedTestMethodTestFixture.cs index 30567b3a29..c907107c8c 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestDebuggerRunsSelectedTestMethodTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestDebuggerRunsSelectedTestMethodTestFixture.cs @@ -115,6 +115,7 @@ namespace RubyBinding.Tests.Testing RunTestsOnSelectedTestMethod(); string expectedCommandLine = + "--disable-gems " + "-D " + "\"-Ic:\\sharpdevelop\\addins\\rubybinding\\TestRunner\" " + "\"c:\\sharpdevelop\\addins\\rubybinding\\TestRunner\\sdtest.rb\" " + diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerApplicationTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerApplicationTests.cs index a29e487a1f..9a05b43eb8 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerApplicationTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerApplicationTests.cs @@ -52,6 +52,7 @@ namespace RubyBinding.Tests.Testing ProcessStartInfo processStartInfo = GetProcessStartInfoFromTestRunnerApp(selectedTests); string expectedCommandLine = + "--disable-gems " + "\"-Ic:\\rubybinding\\TestRunner\" " + "\"c:\\rubybinding\\TestRunner\\sdtest.rb\" " + "--testcase=MyTests " + @@ -77,6 +78,7 @@ namespace RubyBinding.Tests.Testing ProcessStartInfo processStartInfo = GetProcessStartInfoFromTestRunnerApp(selectedTests); string expectedCommandLine = + "--disable-gems " + "\"-Ic:\\rubybinding\\TestRunner\" " + "\"c:\\rubybinding\\TestRunner\\sdtest.rb\" " + "--name=MyMethod " + @@ -99,6 +101,7 @@ namespace RubyBinding.Tests.Testing ProcessStartInfo processStartInfo = GetProcessStartInfoFromTestRunnerApp(selectedTests); string expectedCommandLine = + "--disable-gems " + "\"-Ic:\\rubybinding\\AddIns\\TestRunner\" " + "\"c:\\rubybinding\\AddIns\\TestRunner\\sdtest.rb\" " + "-- " + @@ -117,6 +120,7 @@ namespace RubyBinding.Tests.Testing ProcessStartInfo processStartInfo = GetProcessStartInfoFromTestRunnerApp(selectedTests); string expectedCommandLine = + "--disable-gems " + "\"-Ic:\\ruby\\lib\" " + "\"-Ic:\\rubybinding\\TestRunner\" " + "\"c:\\rubybinding\\TestRunner\\sdtest.rb\" " + @@ -148,6 +152,7 @@ namespace RubyBinding.Tests.Testing ProcessStartInfo processStartInfo = GetProcessStartInfoFromTestRunnerApp(tests); string expectedCommandLine = + "--disable-gems " + "\"-Ic:\\rubybinding\\TestRunner\" " + "\"-Ic:\\projects\\rbproject\" " + "\"c:\\rubybinding\\TestRunner\\sdtest.rb\" " + diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerRunsSelectedTestMethodTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerRunsSelectedTestMethodTestFixture.cs index 4394c058d1..0f12e9442b 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerRunsSelectedTestMethodTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Testing/RubyTestRunnerRunsSelectedTestMethodTestFixture.cs @@ -96,6 +96,7 @@ namespace RubyBinding.Tests.Testing RunTestsOnSelectedTestMethod(); string expectedCommandLine = + "--disable-gems " + "\"-Ic:\\sharpdevelop\\addins\\rubybinding\\TestRunner\" " + "\"c:\\sharpdevelop\\addins\\rubybinding\\TestRunner\\sdtest.rb\" " + "--name=MyTestMethod " + diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeDocument.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeDocument.cs index a3adb7c6f3..c891327295 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeDocument.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeDocument.cs @@ -67,6 +67,11 @@ namespace ICSharpCode.Scripting.Tests.Utils throw new NotImplementedException(); } + public void Insert(int offset, string text, AnchorMovementType defaultAnchorMovementType) + { + throw new NotImplementedException(); + } + public void Remove(int offset, int length) { throw new NotImplementedException(); diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs index 95c6d3257e..63c062ea2c 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockViewContent.cs @@ -21,20 +21,24 @@ namespace ICSharpCode.Scripting.Tests.Utils { } - public event EventHandler TitleNameChanged; - public event EventHandler TabPageTextChanged; - public event EventHandler Disposed; + public event EventHandler InfoTipChanged; + public event EventHandler TitleNameChanged; + public event EventHandler TabPageTextChanged; + public event EventHandler Disposed; public event EventHandler IsDirtyChanged; - + public string TitleName { get { throw new NotImplementedException(); } - set { + } + + public string InfoTip { + get { throw new NotImplementedException(); } } - + public bool IsReadOnly { get { throw new NotImplementedException(); @@ -164,7 +168,7 @@ namespace ICSharpCode.Scripting.Tests.Utils throw new NotImplementedException(); } } - + public void Save(OpenedFile file, System.IO.Stream stream) { throw new NotImplementedException(); @@ -194,7 +198,7 @@ namespace ICSharpCode.Scripting.Tests.Utils { throw new NotImplementedException(); } - + protected virtual void OnTitleNameChanged(EventArgs e) { if (TitleNameChanged != null) { @@ -202,6 +206,13 @@ namespace ICSharpCode.Scripting.Tests.Utils } } + protected virtual void OnInfoTipChanged(EventArgs e) + { + if (InfoTipChanged != null) { + InfoTipChanged(this, e); + } + } + protected virtual void OnTabPageTextChanged(EventArgs e) { if (TabPageTextChanged != null) { diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/CompletionDataHelper.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/CompletionDataHelper.cs index 105ffdaacb..09a285906f 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/CompletionDataHelper.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/CompletionDataHelper.cs @@ -37,7 +37,7 @@ namespace ICSharpCode.VBNetBinding if (expressionResult.Context == ExpressionContext.Importable && string.IsNullOrWhiteSpace(expressionResult.Expression)) { expressionResult.Expression = "Global"; - } else if (pressedKey != '.') { + } else if (pressedKey == '\0') { int idx = string.IsNullOrWhiteSpace(expressionResult.Expression) ? -1 : expressionResult.Expression.LastIndexOf('.'); @@ -53,7 +53,7 @@ namespace ICSharpCode.VBNetBinding var rr = resolver.Resolve(expressionResult, info, editor.Document.Text); - if (rr == null || !rr.IsValid) { + if (rr == null || !rr.IsValid || (pressedKey != '.' && !completingDotExpression)) { if (((BitArray)expressionResult.Tag)[Tokens.Identifier]) data = new NRefactoryResolver(LanguageProperties.VBNet) .CtrlSpace(editor.Caret.Line, editor.Caret.Column, info, editor.Document.Text, expressionResult.Context, @@ -65,10 +65,10 @@ namespace ICSharpCode.VBNetBinding rr = new MemberResolveResult(rr.CallingClass, rr.CallingMember, singleMethod); } - data = rr.GetCompletionData(info.CompilationUnit.ProjectContent, ((NRefactoryCompletionItemList)result).ContainsItemsFromAllNamespaces) - ?? new NRefactoryResolver(LanguageProperties.VBNet) - .CtrlSpace(editor.Caret.Line, editor.Caret.Column, info, editor.Document.Text, - expressionResult.Context, ((NRefactoryCompletionItemList)result).ContainsItemsFromAllNamespaces); + if (rr is IntegerLiteralResolveResult && pressedKey == '.') + return result; + + data = rr.GetCompletionData(info.CompilationUnit.ProjectContent, ((NRefactoryCompletionItemList)result).ContainsItemsFromAllNamespaces) ?? new List(); resolvedType = rr.ResolvedType; } @@ -95,14 +95,21 @@ namespace ICSharpCode.VBNetBinding AddSpecialItems(ref result, info, resolvedType, m, expressionResult, editor); + char prevChar; + if (pressedKey == '\0') { // ctrl+space - char prevChar = editor.Caret.Offset > 0 ? editor.Document.GetCharAt(editor.Caret.Offset - 1) : '\0'; + prevChar = editor.Caret.Offset > 0 ? editor.Document.GetCharAt(editor.Caret.Offset - 1) : '\0'; word = char.IsLetterOrDigit(prevChar) || prevChar == '_' ? editor.GetWordBeforeCaret() : ""; if (!string.IsNullOrWhiteSpace(word)) result.PreselectionLength = word.Length; } + prevChar = editor.Caret.Offset > 0 ? editor.Document.GetCharAt(editor.Caret.Offset - 1) : '\0'; + + if (prevChar == '_') + result.PreselectionLength++; + result.SortItems(); return result; diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/FormattingStrategy/VBNetFormattingStrategy.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/FormattingStrategy/VBNetFormattingStrategy.cs index 0fbb8e6226..e77ac474c3 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/FormattingStrategy/VBNetFormattingStrategy.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/FormattingStrategy/VBNetFormattingStrategy.cs @@ -134,16 +134,20 @@ namespace ICSharpCode.VBNetBinding IDocumentLine currentLine = editor.Document.GetLine(lineNr); IDocumentLine lineAbove = lineNr > 1 ? editor.Document.GetLine(lineNr - 1) : null; - string curLineText = editor.Document.Text; + string curLineText = currentLine == null ? "" : currentLine.Text; string lineAboveText = lineAbove == null ? "" : lineAbove.Text; if (ch == '\'') { InsertDocumentationComments(editor, lineNr, cursorOffset); } - if (ch == '\n' && lineAboveText != null) - { - string textToReplace = TrimLine(lineAboveText); + if (ch == '\n' && lineAboveText != null) { + if (LanguageUtils.IsInsideDocumentationComment(editor, lineAbove, lineAbove.EndOffset)) { + editor.Document.Insert(cursorOffset, "''' "); + return; + } + + string textToReplace = lineAboveText.TrimLine(); if (doCasing) DoCasingOnLine(lineAbove, textToReplace, editor); @@ -153,12 +157,10 @@ namespace ICSharpCode.VBNetBinding if (IsInString(lineAboveText)) { if (IsFinishedString(curLineText)) { - editor.Document.Insert(lineAbove.Offset + lineAbove.Length, - "\" & _"); + editor.Document.Insert(lineAbove.EndOffset, "\" & _"); editor.Document.Insert(currentLine.Offset, "\""); } else { - editor.Document.Insert(lineAbove.Offset + lineAbove.Length, - "\""); + editor.Document.Insert(lineAbove.EndOffset, "\""); } } else { string indent = DocumentUtilitites.GetWhitespaceAfter(editor.Document, lineAbove.Offset); @@ -170,11 +172,8 @@ namespace ICSharpCode.VBNetBinding } IndentLines(editor, lineNr - 1, lineNr); - } - else if(ch == '>') - { - if (IsInsideDocumentationComment(editor, currentLine, cursorOffset)) - { + } else if(ch == '>') { + if (LanguageUtils.IsInsideDocumentationComment(editor, currentLine, cursorOffset)) { int column = editor.Caret.Offset - currentLine.Offset; int index = Math.Min(column - 1, curLineText.Length - 1); @@ -187,32 +186,22 @@ namespace ICSharpCode.VBNetBinding if (index > 0) { StringBuilder commentBuilder = new StringBuilder(""); for (int i = index; i < curLineText.Length && i < column && !Char.IsWhiteSpace(curLineText[i]); ++i) { - commentBuilder.Append(curLineText[ i]); + commentBuilder.Append(curLineText[i]); } string tag = commentBuilder.ToString().Trim(); if (!tag.EndsWith(">", StringComparison.OrdinalIgnoreCase)) { tag += ">"; } if (!tag.StartsWith("/", StringComparison.OrdinalIgnoreCase)) { - editor.Document.Insert(editor.Caret.Offset, " selEnd) { indentation.PopOrDefault(); diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/LanguageUtils.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/LanguageUtils.cs new file mode 100644 index 0000000000..c5d76c5951 --- /dev/null +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/LanguageUtils.cs @@ -0,0 +1,60 @@ +// 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.Text.RegularExpressions; +using ICSharpCode.SharpDevelop.Editor; + +namespace ICSharpCode.VBNetBinding +{ + public static class LanguageUtils + { + public static string TrimComments(this string line) + { + if (string.IsNullOrEmpty(line)) + return string.Empty; + + bool inStr = false; + + for (int i = 0; i < line.Length; i++) { + if (line[i] == '"') + inStr = !inStr; + if (line[i] == '\'' && !inStr) + return line.Substring(0, i).Trim(); + } + + return line; + } + + public static string TrimLine(this string line) + { + if (string.IsNullOrEmpty(line)) + return string.Empty; + // remove string content + MatchCollection matches = Regex.Matches(line, "\"[^\"]*?\"", RegexOptions.Singleline); + foreach (Match match in matches) { + line = line.Remove(match.Index, match.Length).Insert(match.Index, new string('-', match.Length)); + } + // remove comments + return TrimComments(line); + } + + public static bool IsInsideDocumentationComment(ITextEditor editor) + { + return IsInsideDocumentationComment(editor, editor.Document.GetLineForOffset(editor.Caret.Offset), editor.Caret.Offset); + } + + public static bool IsInsideDocumentationComment(ITextEditor editor, IDocumentLine curLine, int cursorOffset) + { + for (int i = curLine.Offset; i < cursorOffset; ++i) { + char ch = editor.Document.GetCharAt(i); + if (ch == '"') + return false; + if (ch == '\'' && i + 2 < cursorOffset && editor.Document.GetCharAt(i + 1) == '\'' && + editor.Document.GetCharAt(i + 2) == '\'') + return true; + } + return false; + } + } +} diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs index b7e23e8683..a703211c44 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs @@ -15,6 +15,9 @@ namespace ICSharpCode.VBNetBinding /// public static void BuildNamespace(VBNetProject project, IProjectContent pc) { + if ("custom".Equals(project.GetEvaluatedProperty("MyType"), StringComparison.OrdinalIgnoreCase)) + return; + ICompilationUnit cu = new DefaultCompilationUnit(pc); //cu.FileName = "GeneratedMyNamespace.vb"; // leave FileName null - fixes SD2-854 string ns; diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Parser/Parser.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Parser/Parser.cs index 30d40612b5..4e8f3c70ff 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Parser/Parser.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Parser/Parser.cs @@ -2,7 +2,10 @@ // 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 System.Linq; + using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Dom.NRefactoryResolver; @@ -17,18 +20,12 @@ namespace ICSharpCode.VBNetBinding string[] lexerTags; public string[] LexerTags { - get { - return lexerTags; - } - set { - lexerTags = value; - } + get { return lexerTags; } + set { lexerTags = value; } } public LanguageProperties Language { - get { - return LanguageProperties.VBNet; - } + get { return LanguageProperties.VBNet; } } public IExpressionFinder CreateExpressionFinder(string fileName) @@ -48,38 +45,18 @@ namespace ICSharpCode.VBNetBinding static void RetrieveRegions(ICompilationUnit cu, ICSharpCode.NRefactory.Parser.SpecialTracker tracker) { - for (int i = 0; i < tracker.CurrentSpecials.Count; ++i) - { - ICSharpCode.NRefactory.PreprocessingDirective directive = tracker.CurrentSpecials[i] as ICSharpCode.NRefactory.PreprocessingDirective; - if (directive != null) - { - if (directive.Cmd.Equals("#region", StringComparison.OrdinalIgnoreCase)) - { - int deep = 1; - for (int j = i + 1; j < tracker.CurrentSpecials.Count; ++j) - { - ICSharpCode.NRefactory.PreprocessingDirective nextDirective = tracker.CurrentSpecials[j] as ICSharpCode.NRefactory.PreprocessingDirective; - if (nextDirective != null) - { - switch (nextDirective.Cmd.ToUpperInvariant()) - { - case "#REGION": - ++deep; - break; - case "#END": - if (nextDirective.Arg.Equals("region", StringComparison.OrdinalIgnoreCase)) { - --deep; - if (deep == 0) { - cu.FoldingRegions.Add(new FoldingRegion(directive.Arg.Trim('"'), DomRegion.FromLocation(directive.StartPosition, nextDirective.EndPosition))); - goto end; - } - } - break; - } - } - } - end: ; - } + Stack regionStartDirectives = new Stack(); + + foreach (ICSharpCode.NRefactory.PreprocessingDirective directive in tracker.CurrentSpecials.OfType()) { + if (directive.Cmd.Equals("#region", StringComparison.OrdinalIgnoreCase)) + regionStartDirectives.Push(directive); + if (directive.Cmd.Equals("#end", StringComparison.OrdinalIgnoreCase) + // using StartsWith allows comments at end of line + // fixes http://community.sharpdevelop.net/forums/t/12252.aspx + && directive.Arg.StartsWith("region", StringComparison.OrdinalIgnoreCase) + && regionStartDirectives.Any()) { + ICSharpCode.NRefactory.PreprocessingDirective start = regionStartDirectives.Pop(); + cu.FoldingRegions.Add(new FoldingRegion(start.Arg.TrimComments().Trim('"'), DomRegion.FromLocation(start.StartPosition, directive.EndPosition))); } } } diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetBracketSearcher.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetBracketSearcher.cs index 4fc95b2cae..15a764e6ad 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetBracketSearcher.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetBracketSearcher.cs @@ -145,7 +145,7 @@ namespace ICSharpCode.VBNetBinding { IDocumentLine line = document.GetLineForOffset(offset); - string interestingText = VBNetFormattingStrategy.TrimLine(line.Text).Trim(' ', '\t'); + string interestingText = line.Text.TrimLine().Trim(' ', '\t'); //LoggingService.Debug("text: '" + interestingText + "'"); diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs index dbc2f3fcc8..b9a93d47a8 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VBNetCompletionBinding.cs @@ -38,6 +38,11 @@ namespace ICSharpCode.VBNetBinding public CodeCompletionKeyPressResult HandleKeyPress(ITextEditor editor, char ch) { + if (LanguageUtils.IsInsideDocumentationComment(editor) && ch == '<') { + new CommentCompletionItemProvider().ShowCompletion(editor); + return CodeCompletionKeyPressResult.Completed; + } + if (IsInComment(editor) || IsInString(editor)) return CodeCompletionKeyPressResult.None; @@ -93,8 +98,10 @@ namespace ICSharpCode.VBNetBinding result = ef.FindExpression(editor.Document.Text, index); LoggingService.Debug("CC: After dot, result=" + result + ", context=" + result.Context); - ShowCompletion(result, editor, ch); - return CodeCompletionKeyPressResult.Completed; + if (ShowCompletion(result, editor, ch)) + return CodeCompletionKeyPressResult.Completed; + else + return CodeCompletionKeyPressResult.None; case '@': if (editor.Caret.Offset > 0 && editor.Document.GetCharAt(editor.Caret.Offset - 1) == '.') return CodeCompletionKeyPressResult.None; @@ -123,6 +130,10 @@ namespace ICSharpCode.VBNetBinding return CodeCompletionKeyPressResult.None; if (IsTypeCharacter(ch, prevChar)) return CodeCompletionKeyPressResult.None; + if (prevChar == '_') { + result.Expression = '_' + result.Expression; + result.Region = new DomRegion(result.Region.BeginLine, result.Region.BeginColumn - 1, result.Region.EndLine, result.Region.EndColumn); + } LoggingService.Debug("CC: Beginning to type a word, result=" + result + ", context=" + result.Context); ShowCompletion(result, editor, ch); return CodeCompletionKeyPressResult.CompletedIncludeKeyInCompletion; @@ -172,11 +183,12 @@ namespace ICSharpCode.VBNetBinding return false; } - static void ShowCompletion(ExpressionResult result, ITextEditor editor, char ch) + static bool ShowCompletion(ExpressionResult result, ITextEditor editor, char ch) { VBNetCompletionItemList list = CompletionDataHelper.GenerateCompletionData(result, editor, ch); list.Editor = editor; list.Window = editor.ShowCompletionWindow(list); + return list.Items.Any(); } #region Helpers diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VbcEncodingFixingLogger.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VbcEncodingFixingLogger.cs index bdd026c281..e6cd73ae28 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VbcEncodingFixingLogger.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/VbcEncodingFixingLogger.cs @@ -40,12 +40,52 @@ namespace ICSharpCode.VBNetBinding { error.ErrorText = FixEncoding(error.ErrorText); error.FileName = FixEncoding(error.FileName); + error.Column = FixColumn(error.FileName, error.Line, error.Column); nextFilter.HandleError(error); } public void HandleBuildEvent(Microsoft.Build.Framework.BuildEventArgs e) { nextFilter.HandleBuildEvent(e); + if (e is TaskFinishedEventArgs && lastFile != null) { + lastFile.Close(); + lastFile = null; + } + } + + string lastFileName, lastLineText; + StreamReader lastFile; + int lastLine; + + // fixes SD-1746 - VB compiler errors are shown in incorrect column if the line contains tabs + // (http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1746&PROJID=4) + int FixColumn(string fileName, int line, int column) + { + if (!File.Exists(fileName) || line < 1 || column < 1) + return column; + + if (fileName != lastFileName || line < lastLine || lastFile == null) { + if (lastFile != null) + lastFile.Close(); + lastFile = new StreamReader(fileName); + lastFileName = fileName; + lastLineText = ""; + lastLine = 0; + } + + while (lastLine < line && lastLineText != null) { + lastLineText = lastFile.ReadLine(); + lastLine++; + } + + if (!string.IsNullOrEmpty(lastLineText)) { + for (int i = 0; i < column && i < lastLineText.Length; i++) { + if (lastLineText[i] == '\t') + column -= 3; + } + } + + return column; } } } diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.csproj b/src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.csproj index 4f73f22bb4..2e42256570 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.csproj +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.csproj @@ -68,6 +68,7 @@ + ProjectImportsOptions.xaml Code diff --git a/src/AddIns/BackendBindings/VBNetBinding/Test/CodeCompletionTests.cs b/src/AddIns/BackendBindings/VBNetBinding/Test/CodeCompletionTests.cs index f1f4b451f9..97bc88d0b6 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Test/CodeCompletionTests.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Test/CodeCompletionTests.cs @@ -17,7 +17,7 @@ namespace ICSharpCode.VBNetBinding.Tests [Test] public void TestEmptyFile() { - TestKeyPress("", "", 'o', CodeCompletionKeyPressResult.CompletedIncludeKeyInCompletion, + TestKeyPress("|", 'o', CodeCompletionKeyPressResult.CompletedIncludeKeyInCompletion, list => { Assert.IsTrue(list.Items.Any()); Assert.IsTrue(list.Items.All(item => item.Image == ClassBrowserIconService.Keyword)); @@ -32,7 +32,7 @@ namespace ICSharpCode.VBNetBinding.Tests [Test] public void TestOptions() { - TestKeyPress("Option", "\n", ' ', CodeCompletionKeyPressResult.EatKey, + TestKeyPress("Option|\n", ' ', CodeCompletionKeyPressResult.EatKey, list => { Assert.IsTrue(list.Items.Any()); Assert.IsTrue(list.Items.All(item => item.Image == ClassBrowserIconService.Keyword)); @@ -45,7 +45,7 @@ namespace ICSharpCode.VBNetBinding.Tests [Test] public void TestOptionCompare() { - TestKeyPress("Option Compare", "\n", ' ', CodeCompletionKeyPressResult.EatKey, + TestKeyPress("Option Compare|\n", ' ', CodeCompletionKeyPressResult.EatKey, list => { Assert.IsTrue(list.Items.Any()); Assert.IsTrue(list.Items.All(item => item.Image == ClassBrowserIconService.Keyword)); @@ -59,7 +59,7 @@ namespace ICSharpCode.VBNetBinding.Tests public void TestOnOffOptions() { foreach (string option in new[] { "Infer", "Strict", "Explicit" }) { - TestKeyPress(string.Format("Option {0} ", option), "\n", 'o', CodeCompletionKeyPressResult.CompletedIncludeKeyInCompletion, + TestKeyPress(string.Format("Option {0} |\n", option), 'o', CodeCompletionKeyPressResult.CompletedIncludeKeyInCompletion, list => { Assert.IsTrue(list.Items.Any()); Assert.IsTrue(list.Items.All(item => item.Image == ClassBrowserIconService.Keyword)); @@ -77,5 +77,47 @@ namespace ICSharpCode.VBNetBinding.Tests foreach (string element in expected) Assert.Contains(element, items); } + + [Test] + public void TestDotAfterDigit() + { + string text = @"Module Test + Public Function fn() As Double + Dim f As Double + f = 1| + End Function +End Module"; + + TestKeyPress(text, '.', CodeCompletionKeyPressResult.None, list => Assert.IsFalse(list.Items.Any())); + } + + [Test] + public void TestDotAfterIdentifier() + { + string text = @"Module Test + Public Function fn(x As Double) As Double + Dim f As Double + f = x| + End Function +End Module"; + + TestKeyPress(text, '.', CodeCompletionKeyPressResult.Completed, list => Assert.IsTrue(list.Items.Any())); + } + + [Test] + public void TestWithBlockCtrlSpace() + { + string text = @"Module Test + Sub Test2(a As Exception) + With a + | + End With + End Sub +End Module"; + + // TODO seems to be wrong! + + TestCtrlSpace(text, true, list => Assert.IsFalse(list.Items.Any(i => i.Text == "InnerException"))); + } } } diff --git a/src/AddIns/BackendBindings/VBNetBinding/Test/TextEditorBasedTests.cs b/src/AddIns/BackendBindings/VBNetBinding/Test/TextEditorBasedTests.cs index a47d0574b6..d7d0ba1966 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Test/TextEditorBasedTests.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Test/TextEditorBasedTests.cs @@ -18,10 +18,15 @@ namespace ICSharpCode.VBNetBinding.Tests this.textEditor = new MockTextEditor(); } - protected void TestCtrlSpace(string fileHeader, string fileFooter, bool expected, Action constraint) + protected void TestCtrlSpace(string file, bool expected, Action constraint) { - this.textEditor.Document.Text = fileHeader + fileFooter; - this.textEditor.Caret.Offset = fileHeader.Length; + int insertionPoint = file.IndexOf('|'); + + if (insertionPoint < 0) + Assert.Fail("insertionPoint not found in text!"); + + this.textEditor.Document.Text = file.Replace("|", ""); + this.textEditor.Caret.Offset = insertionPoint; this.textEditor.CreateParseInformation(); bool invoked = new VBNetCompletionBinding().CtrlSpace(textEditor); @@ -33,10 +38,15 @@ namespace ICSharpCode.VBNetBinding.Tests constraint(list); } - protected void TestKeyPress(string fileHeader, string fileFooter, char keyPressed, CodeCompletionKeyPressResult keyPressResult, Action constraint) + protected void TestKeyPress(string file, char keyPressed, CodeCompletionKeyPressResult keyPressResult, Action constraint) { - this.textEditor.Document.Text = fileHeader + fileFooter; - this.textEditor.Caret.Offset = fileHeader.Length; + int insertionPoint = file.IndexOf('|'); + + if (insertionPoint < 0) + Assert.Fail("insertionPoint not found in text!"); + + this.textEditor.Document.Text = file.Replace("|", ""); + this.textEditor.Caret.Offset = insertionPoint; this.textEditor.CreateParseInformation(); CodeCompletionKeyPressResult result = new VBNetCompletionBinding().HandleKeyPress(textEditor, keyPressed); @@ -48,10 +58,15 @@ namespace ICSharpCode.VBNetBinding.Tests constraint(list); } - protected void TestTextInsert(string fileHeader, string fileFooter, char completionChar, ICompletionItemList list, ICompletionItem item, string expectedOutput, int expectedOffset) + protected void TestTextInsert(string file, char completionChar, ICompletionItemList list, ICompletionItem item, string expectedOutput, int expectedOffset) { - this.textEditor.Document.Text = fileHeader + fileFooter; - this.textEditor.Caret.Offset = fileHeader.Length; + int insertionPoint = file.IndexOf('|'); + + if (insertionPoint < 0) + Assert.Fail("insertionPoint not found in text!"); + + this.textEditor.Document.Text = file.Replace("|", ""); + this.textEditor.Caret.Offset = insertionPoint; this.textEditor.CreateParseInformation(); CompletionContext context = new CompletionContext() { @@ -66,10 +81,10 @@ namespace ICSharpCode.VBNetBinding.Tests if (!context.CompletionCharHandled && context.CompletionChar != '\n') this.textEditor.Document.Insert(this.textEditor.Caret.Offset, completionChar + ""); - string insertedText = this.textEditor.Document.GetText(fileHeader.Length, this.textEditor.Document.TextLength - fileHeader.Length - fileFooter.Length); + string insertedText = this.textEditor.Document.GetText(insertionPoint, this.textEditor.Document.TextLength - file.Length + 1); Assert.AreEqual(expectedOutput, insertedText); - Assert.AreEqual(fileHeader.Length + expectedOffset, textEditor.Caret.Offset); + Assert.AreEqual(insertionPoint + expectedOffset, textEditor.Caret.Offset); } } } diff --git a/src/AddIns/BackendBindings/WixBinding/Project/Src/Commands/AddElementCommand.cs b/src/AddIns/BackendBindings/WixBinding/Project/Src/Commands/AddElementCommand.cs index a28da8e469..a2c87ea4f4 100644 --- a/src/AddIns/BackendBindings/WixBinding/Project/Src/Commands/AddElementCommand.cs +++ b/src/AddIns/BackendBindings/WixBinding/Project/Src/Commands/AddElementCommand.cs @@ -22,6 +22,7 @@ namespace ICSharpCode.WixBinding } public AddElementCommand(string name, IWorkbench workbench) + : base(name) { this.name = name; this.workbench = workbench; diff --git a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs index e171fc0d44..f46e5dfc15 100644 --- a/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs +++ b/src/AddIns/BackendBindings/WixBinding/Test/Utils/MockViewContent.cs @@ -40,6 +40,7 @@ namespace WixBinding.Tests.Utils public event EventHandler Disposed; public event EventHandler IsDirtyChanged; public event EventHandler TitleNameChanged; + public event EventHandler InfoTipChanged; #pragma warning restore 67 public IList Files { @@ -129,6 +130,12 @@ namespace WixBinding.Tests.Utils } } + public string InfoTip { + get { + throw new NotImplementedException(); + } + } + public bool IsReadOnly { get { throw new NotImplementedException(); diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/CompilationUnitCreatorVisitor.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/CompilationUnitCreatorVisitor.cs index a7a4f3529a..7c8c714634 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/CompilationUnitCreatorVisitor.cs +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/CompilationUnitCreatorVisitor.cs @@ -5,10 +5,11 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Text; using ICSharpCode.AvalonEdit.Xml; using ICSharpCode.SharpDevelop.Dom; -using System.Text; +using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.XamlBinding { @@ -134,6 +135,9 @@ namespace ICSharpCode.XamlBinding } IClass AddClass(string className, AXmlElement element) { + if (projectContent.Language == LanguageProperties.VBNet && projectContent.Project is IProject) + className = ((IProject)projectContent.Project).RootNamespace + "." + className; + DefaultClass c = new DefaultClass(CompilationUnit, className); string modifierValue = (element.GetAttributeValue(CompletionDataHelper.XamlNamespace, "ClassModifier") ?? string.Empty).Trim(); diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Extensions.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Extensions.cs index 92aed085f3..c6c143bc2d 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Extensions.cs +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Extensions.cs @@ -362,7 +362,9 @@ namespace ICSharpCode.XamlBinding public static Brush ToBrush(this Color color) { - return new SolidColorBrush(color); + var b = new SolidColorBrush(color); + b.Freeze(); + return b; } } } diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlParser.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlParser.cs index 9b00d3f27c..c03df01f4b 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlParser.cs +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlParser.cs @@ -2,16 +2,14 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Diagnostics; using System.IO; using System.Linq; -using System.Xml; + using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Xml; using ICSharpCode.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Dom; -using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.XamlBinding diff --git a/src/AddIns/Debugger/Debugger.AddIn/Service/AttachToProcessForm.cs b/src/AddIns/Debugger/Debugger.AddIn/Service/AttachToProcessForm.cs index a0d7aa3640..964f35eb3d 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Service/AttachToProcessForm.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Service/AttachToProcessForm.cs @@ -57,6 +57,7 @@ namespace ICSharpCode.SharpDevelop.Services Process currentProcess = Process.GetCurrentProcess(); foreach (Process process in Process.GetProcesses()) { try { + if (process.HasExited) continue; // Prevent attaching to our own process. if (currentProcess.Id != process.Id) { ProcessListViewItem item = new ProcessListViewItem(process, debugger); diff --git a/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs b/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs index 5e62a70437..bf7c9a2dca 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs @@ -13,6 +13,7 @@ using System.Windows.Forms; using Debugger; using Debugger.AddIn; using Debugger.AddIn.TreeModel; +using Debugger.Interop; using Debugger.Interop.CorPublish; using ICSharpCode.Core; using ICSharpCode.Core.WinForms; @@ -362,10 +363,8 @@ namespace ICSharpCode.SharpDevelop.Services public bool IsManaged(int processId) { - if (corPublish == null) { - corPublish = new CorpubPublishClass(); - Debugger.Interop.TrackedComObjects.Track(corPublish); - } + corPublish = new CorpubPublishClass(); + Debugger.Interop.TrackedComObjects.Track(corPublish); ICorPublishProcess process = corPublish.GetProcess((uint)processId); if (process != null) { diff --git a/src/AddIns/Debugger/Debugger.Core/NDebugger.cs b/src/AddIns/Debugger/Debugger.Core/NDebugger.cs index 88f46150f6..61ecb39eb5 100644 --- a/src/AddIns/Debugger/Debugger.Core/NDebugger.cs +++ b/src/AddIns/Debugger/Debugger.Core/NDebugger.cs @@ -212,8 +212,10 @@ namespace Debugger } // Detach all processes. - while (this.Processes.Count > 0) { - Process process = this.Processes[0]; + for (int i = 0; i < this.Processes.Count; ++i) { + Process process = this.Processes[i]; + if (process == null || process.HasExited) + continue; process.Detach(); } } diff --git a/src/AddIns/Debugger/Debugger.Core/Process.cs b/src/AddIns/Debugger/Debugger.Core/Process.cs index ae2bf8a526..8616e618e1 100644 --- a/src/AddIns/Debugger/Debugger.Core/Process.cs +++ b/src/AddIns/Debugger/Debugger.Core/Process.cs @@ -3,10 +3,12 @@ using System; using System.Collections.Generic; +using System.Runtime.InteropServices; + +using Debugger.Interop; using Debugger.Interop.CorDebug; using ICSharpCode.NRefactory.Ast; using ICSharpCode.NRefactory.Visitors; -using System.Runtime.InteropServices; namespace Debugger { @@ -400,6 +402,7 @@ namespace Debugger corProcess.Stop(uint.MaxValue); NotifyPaused(PausedReason.ForcedBreak); } + // This is necessary for detach foreach(Stepper s in this.Steppers) { if (s.CorStepper.IsActive() == 1) { @@ -407,8 +410,21 @@ namespace Debugger } } this.Steppers.Clear(); + corProcess.Detach(); - NotifyHasExited(); + + // modules + foreach(Module m in this.Modules) + { + m.Dispose(); + } + + this.modules.Clear(); + + // threads + this.threads.Clear(); + + NotifyHasExited(); } public void Continue() diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs index 93eec4e3a4..5a15b0d9fa 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/AvalonEditViewContent.cs @@ -57,7 +57,8 @@ namespace ICSharpCode.AvalonEdit.AddIn void codeEditor_Document_UndoStack_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { - PrimaryFile.IsDirty = !codeEditor.Document.UndoStack.IsOriginalFile; + if (!isLoading) + PrimaryFile.IsDirty = !codeEditor.Document.UndoStack.IsOriginalFile; } void PrimaryFile_IsDirtyChanged(object sender, EventArgs e) @@ -126,13 +127,13 @@ namespace ICSharpCode.AvalonEdit.AddIn } } - //bool isLoading; + bool isLoading; public override void Load(OpenedFile file, Stream stream) { if (file != PrimaryFile) return; - //isLoading = true; + isLoading = true; try { BookmarksDetach(); codeEditor.PrimaryTextEditor.SyntaxHighlighting = @@ -143,11 +144,16 @@ namespace ICSharpCode.AvalonEdit.AddIn } codeEditor.Load(stream); + // Load() causes the undo stack to think stuff changed, so re-mark the file as original if necessary + if (!this.PrimaryFile.IsDirty) { + codeEditor.Document.UndoStack.MarkAsOriginalFile(); + } + // we set the file name after loading because this will place the fold markers etc. codeEditor.FileName = FileName.Create(file.FileName); BookmarksAttach(); } finally { - //isLoading = false; + isLoading = false; } } diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs index cd0436a762..2146d112ed 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs @@ -396,6 +396,10 @@ namespace ICSharpCode.AvalonEdit.AddIn if (e.Handled) return; + // disable all code completion bindings when CC is disabled + if (!CodeCompletionOptions.EnableCodeCompletion) + return; + ITextEditor adapter = GetAdapterFromSender(sender); foreach (char c in e.Text) { @@ -471,6 +475,11 @@ namespace ICSharpCode.AvalonEdit.AddIn { if (CompletionWindow != null) CompletionWindow.Close(); + + // disable all code completion bindings when CC is disabled + if (!CodeCompletionOptions.EnableCodeCompletion) + return; + CodeEditorView textEditor = GetTextEditorFromSender(sender); foreach (ICodeCompletionBinding cc in CodeCompletionBindings) { if (cc.CtrlSpace(textEditor.Adapter)) { diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs index 5304aa6b7a..b467774c84 100755 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditorView.cs @@ -143,8 +143,10 @@ namespace ICSharpCode.AvalonEdit.AddIn if (snippet != null) { snippet.TrackUsage("CustomTabCommand"); - editor.Adapter.Document.Remove(wordStart, editor.CaretOffset - wordStart); - snippet.CreateAvalonEditSnippet(editor.Adapter).Insert(editor.TextArea); + using (editor.Document.RunUpdate()) { + editor.Adapter.Document.Remove(wordStart, editor.CaretOffset - wordStart); + snippet.CreateAvalonEditSnippet(editor.Adapter).Insert(editor.TextArea); + } return; } } diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/themes/generic.xaml b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/themes/generic.xaml index b37a0ac768..38bbde2df5 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/themes/generic.xaml +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/themes/generic.xaml @@ -5,6 +5,7 @@ xmlns:core="http://icsharpcode.net/sharpdevelop/core" >