diff --git a/.gitignore b/.gitignore index bd3b475b46..1d2ebb26f2 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ bin/ /src/AddIns/Misc/PackageManagement/Packages/AvalonEdit/lib /packages/ +/src/Tools/ResGet/*.log diff --git a/data/resources/StringResources.cz.resx b/data/resources/StringResources.cz.resx index 4ab1679543..c278cd00a5 100644 --- a/data/resources/StringResources.cz.resx +++ b/data/resources/StringResources.cz.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Tento zdroj není používán. Jeho účelem je testování kvality překladu a konce řádku + O pluginu @@ -6155,7 +6158,4 @@ Došlo k chybě při spuštění: Odkomentovat oblast - - Tento zdroj není používán. Jeho účelem je testování kvality překladu a konce řádku - \ No newline at end of file diff --git a/data/resources/StringResources.de.resx b/data/resources/StringResources.de.resx index 7b472272c9..d58b0a366b 100644 --- a/data/resources/StringResources.de.resx +++ b/data/resources/StringResources.de.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 6e61ff43-0241-47da-95bd-2ab6cd6d60f7 + Über... @@ -7721,7 +7724,4 @@ Fehler beim Starten: Kommentar entfernen - - 6e61ff43-0241-47da-95bd-2ab6cd6d60f7 - \ No newline at end of file diff --git a/data/resources/StringResources.es-mx.resx b/data/resources/StringResources.es-mx.resx index c7228b56d4..09e174de1d 100644 --- a/data/resources/StringResources.es-mx.resx +++ b/data/resources/StringResources.es-mx.resx @@ -117,6 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Este recurso no es utilizado. Su propósito es probar la base de datos de traducción y tiene +un retorno de línea. + Acerca de @@ -1538,6 +1542,30 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib Análisis de Calidad de Código + + Formatear código automáticamente + + + (predeterminado) + + + (global) + + + No se seleccionó un formato preestablecido! + + + ¿Esta seguro/a que quiere restablecer todas las opciones de formato previamente definidas? + + + (proyecto) + + + Restablecer a: + + + (solución) + Inserta una referencia a un método explicito; presione tabulador o enter otra vez para insertar una nueva porción de método. @@ -1980,6 +2008,15 @@ Ejemplo: "120", "MainClass", "Main.cs, 120". Guardar + + Enlaces en tooltips deben ir en + + + Definición en código + + + Documentación (si esta disponible) + Pre-seleccionar miembros usados recientemente @@ -2352,6 +2389,9 @@ Ejemplo: "120", "MainClass", "Main.cs, 120". Resaltar &corchetes + + Resaltar la línea actual + Resaltar símbolos @@ -2613,6 +2653,9 @@ Ejemplo: "120", "MainClass", "Main.cs, 120". Valores predeterminados de VB: + + Formato de Código + &Configuración @@ -3317,9 +3360,15 @@ También puede elegir guardar la opción en el archivo .user en lugar de en el a Código No Cubierto + + Código Parcialmente Cubierto + Columna + + Contenido + Opciones de Vista @@ -4298,6 +4347,9 @@ Utilice solamente letras, dígitos, espacio, '.' ó '_'. La solución ha sido cambiada externamente. + + Opciones de Formato de Soluciones + Convertir &proyectos seleccionados a: @@ -5689,6 +5741,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Agregar referencia + + Agregar Referencia a Servicio + Agregar Referencia Web @@ -6097,6 +6152,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Clases derivadas de ${Name} + + Pegar desde el anillo del portapapeles... + + + El anillo del portapapeles esta vacío + Convertir a propiedad automática @@ -6560,6 +6621,9 @@ Los archivos de recursos han sido renombrados/movidos convenientemente. Abrir solución + + Quitar de la lista de proyectos recientes + Página de Inicio @@ -6572,6 +6636,12 @@ Los archivos de recursos han sido renombrados/movidos convenientemente. ln ${Line} col ${Column} car ${Character} + + len ${Rows} * ${Cols} (${Total}) + + + len ${Length} + Varios @@ -7719,8 +7789,4 @@ Error al iniciar: Descomentar región - - Este recurso no es utilizado. Su propósito es probar la base de datos de traducción y tiene -un retorno de línea. - \ No newline at end of file diff --git a/data/resources/StringResources.es.resx b/data/resources/StringResources.es.resx index c259400fca..dee824e910 100644 --- a/data/resources/StringResources.es.resx +++ b/data/resources/StringResources.es.resx @@ -117,6 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Este recurso no se está usando. Su propósito es probar la base de datos de traducción y tiene +un salto de línea + Acerca de... @@ -1537,6 +1541,30 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib Análisis de Calidad de Código + + Formatear código automáticamente + + + (predeterminado) + + + (global) + + + No se seleccionó un formato preestablecido! + + + ¿Esta seguro/a que quiere restablecer todas las opciones de formato previamente definidas? + + + (proyecto) + + + Restablecer a: + + + (solución) + Inserta una referencia a un método explicito; presione tabulador o enter otra vez para insertar un nuevo trozo de método. @@ -1977,6 +2005,15 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib Guardar + + Enlaces en tooltips deben ir a + + + Definición en código + + + Documentación (si esta disponible) + Pre-seleccionar miembros utilizados recientemente @@ -2349,6 +2386,9 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib Resaltar &corchetes + + Resaltar la línea actual + Resaltar símbolos @@ -2610,6 +2650,9 @@ Para crear/manipular un objeto ActiveX/COM, arrastre una clase de un Control/Bib Valores por defecto para Opciones de VB: + + Formato de Código + &Configuración @@ -3319,9 +3362,15 @@ También puede escoger almacenar el parámetro de configuración en el archivo . Código No Cubierto + + Código Parcialmente Cubierto + Columna + + Contenido + Opciones de Vista @@ -4303,6 +4352,9 @@ Solamente letras, dígitos, espacio, '.' o '_' son permitidos. La solución ha sido cambiada externamente. + + Opciones de Formato de Soluciones + Convertir &proyectos seleccionados a: @@ -5695,6 +5747,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Agregar Referencia + + Agregar Referencia a Servicio + Agregar Referencia Web @@ -6103,6 +6158,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension< Clases derivadas de ${Name} + + Pegar desde el anillo del portapapeles... + + + El anillo del portapapeles esta vacío + Convertir a propiedad automática @@ -6567,6 +6628,9 @@ Los archivos de recursos han sido renombrados o cambiados de ubicación de acuer Abrir solución + + Quitar de la lista de proyectos recientes + Página de inicio @@ -6579,6 +6643,12 @@ Los archivos de recursos han sido renombrados o cambiados de ubicación de acuer ln ${Line} col ${Column} car ${Character} + + len ${Rows} * ${Cols} (${Total}) + + + len ${Length} + Misceláneo @@ -7726,8 +7796,4 @@ Error mientras se iniciaba: Descomentar Región - - Este recurso no se está usando. Su propósito es probar la base de datos de traducción y tiene -un salto de línea - \ No newline at end of file diff --git a/data/resources/StringResources.fi.resx b/data/resources/StringResources.fi.resx index 065d4426d9..270cb75852 100644 --- a/data/resources/StringResources.fi.resx +++ b/data/resources/StringResources.fi.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Resurssia ei käytetä. Sen tarkoituksena on testata suomennosta ja rivinvaihtoa. + About SharpDevelop, finnish lang dev: Pekka Herala domain: sivustot.net @@ -5654,7 +5657,4 @@ Työkalusarja, joka rakentaa Windows asennuspaketteja XML-lähdekoodilla. Sarja Kommentti valinta - - Resurssia ei käytetä. Sen tarkoituksena on testata suomennosta ja rivinvaihtoa. - \ No newline at end of file diff --git a/data/resources/StringResources.fr.resx b/data/resources/StringResources.fr.resx index 5622eea6cc..7502c5cf7c 100644 --- a/data/resources/StringResources.fr.resx +++ b/data/resources/StringResources.fr.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Cette ressource n'est pas utilisée. Son but est de tester la base de données de traduction. + A propos @@ -206,7 +209,7 @@ Vous n'avez aucun AddIn installé. -Téléchargez un AddIn depuis l'Internet, cliquez ensuite sur 'Installer un AddIn' et choisissez le fichier téléchargé pour l'installer. +Téléchargez un AddIn depuis Internet, cliquez ensuite sur 'Installer un AddIn' et choisissez le fichier téléchargé pour l'installer. Ouvrir le site Web @@ -287,17 +290,11 @@ Téléchargez un AddIn depuis l'Internet, cliquez ensuite sur 'Installer un AddI Voir le contrat de license - Les Add-Ins installés suivant sont dépendant de "{0}": - -{1} - + Les Add-Ins installés suivant sont dépendant de "{0}": {1} Ils ne fonctionneront plus si vous désactivez cet Add-In! Souhaitez-vous continuer? - Package "{0}" nécessite au moins une dépendance: - -{1} - + Package "{0}" nécessite au moins une dépendance: {1} L'application va essayer de les télécharger et de les installer. Souhaitez-vous continuer? @@ -314,8 +311,8 @@ L'application va essayer de les télécharger et de les installer. Souhaitez-vou Si vous ne le souhaitez pas, veuillez cliquer "Je décline". - En cliquant "J'accepte", vous êtes d'accord pour la license des packages suivant. -Si vous ne le souhaitez pas, veuillez cliquer "Je décline". + En cliquant sur "J'accepte", vous êtes d'accord pour la license des packages suivant. +Si vous ne le souhaitez pas, veuillez cliquer sur "Je décline". Le package suivant nécessite que vous acceptiez sa license: @@ -357,10 +354,7 @@ Si vous ne le souhaitez pas, veuillez cliquer "Je décline". Dépots - Les Add-Ins installés suivant sont dépendants de "{0}": - -{1} - + Les Add-Ins installés suivant sont dépendants de "{0}": {1} Ils ne fonctionneront plus si vous désinstallez cet Add-In! Souhaitez-vous continuer? @@ -538,7 +532,7 @@ Ils ne fonctionneront plus si vous désinstallez cet Add-In! Souhaitez-vous cont Session de profilage SharpDevelop - Ce projet ne peut pas démarrer, exécutable introuvable, assurez-vous que le projet et toutes ses dépendances sont construites. + Ce projet ne peut pas démarrer, l'exécutable est introuvable. Assurez-vous que le projet et toutes ses dépendances sont compilées correctement! Aucun projet n'est démarrable. Arrêt... @@ -1026,7 +1020,7 @@ Sauvegardez ces fichiers avant de déclencher l'opération. Sauvegarder en UTF-8 - Le projet est configuré comme dll et aucune commande a exécuter n'a été spécifiée. Vous pouvez spécifier une commande a exécuter dans les options du projet. + Le projet est configuré comme DLL et aucune commande a exécuter n'a été spécifiée. Vous pouvez spécifier une commande a exécuter dans les options du projet. Compiler un fichier seul n'est pas possible, veuillez créer un projet! @@ -1660,7 +1654,8 @@ Pour créer ou manipuler un objet ActiveX/COM, déplcaer une classe depuis TypeL Aller à la ligne - Veuillez entrer une expression à atteindre. Vous pouvez donner un numéro de ligne, un nom de classe ou de fichier ("120", "MainClass" "Main.cs, 120" par exemple). + Veuillez entrer une expression à atteindre. Vous pouvez donner un numéro de ligne, un nom de classe ou de fichier. +Exemples: "120", "MainClass" "Main.cs, 120". Couleur de l'arrière-plan @@ -2645,6 +2640,9 @@ Voulez-vous ajouter le nouveau fichier au projet ${CurrentProjectName}? Valeurs par défaut des options VB: + + Formatage du code + &Configuration @@ -2794,7 +2792,7 @@ Voulez-vous ajouter le nouveau fichier au projet ${CurrentProjectName}? Le petit button devant chaque option de configuration vous permet de choisir l'endroit où est enregistré la configuration. -'Configuration-specific' signigie que la configuration est appliqué au type de Projet (Debug/Release). +'Configuration-specific' signifie que la configuration est appliquée au type de Projet (Debug/Release). 'Platform-specific' signifie que la configuration peut avoir une valeur différente par plateforme. Vous pouvez aussi choisir de stocker la configuration dans le fichier .user-file au lieu du projet, permettant à chaque développeur d'utiliser une valeur différente sans entrer en conflit avec le système de gestion du code source. @@ -3484,7 +3482,6 @@ Vous pouvez aussi choisir de stocker la configuration dans le fichier .user-file Impossible de trouver NAnt '{0}'. - Configurez le chemin vers NAnt dans les options de SharpDevelop. @@ -3638,10 +3635,10 @@ Configurez le chemin vers NAnt dans les options de SharpDevelop. Envoyer vers la console Ruby - Chargement du fichier ${FileNameWithoutPath} depuis ${Path}. Controler les droits et l'existence du fichier. + Chargement du fichier ${FileNameWithoutPath} depuis ${Path}. Controlez les droits et l'existence du fichier. - Enregistrement impossible du fichier ${FileNameWithoutPath} sous ${Path}. Choisir un autre nom de fichier ou controler si le répertoire existe ainsi que les droits d'écriture pour le chemin et le fichier. (Peut être un problème de protection en écriture) + Enregistrement impossible du fichier ${FileNameWithoutPath} sous ${Path}. Choisissez un autre nom de fichier ou controlez si le répertoire existe ainsi que les droits d'écriture pour le chemin et le fichier. Navigateur @@ -3674,7 +3671,7 @@ Configurez le chemin vers NAnt dans les options de SharpDevelop. <Par défaut> - Etes-vous sûr de vouloir charger la configuration par défaut de l'espace de travail? Note: Ceci n'affectera pas vos layouts personnalisés. + Etes-vous sûr de vouloir charger la configuration par défaut de l'espace de travail ? Note: Ceci n'affectera pas vos layouts personnalisés. Conversion @@ -3755,7 +3752,7 @@ Configurez le chemin vers NAnt dans les options de SharpDevelop. Le fichier est introuvable. - Etes vous sûr que vous voulez recharger le fichier ? + Etes-vous sûr que vous voulez recharger le fichier ? Toutes les modifications seront perdues. @@ -4027,7 +4024,7 @@ Toutes les modifications seront perdues. L'ajout de ce composant conduirait à une dépendance cyclique. - Exception lors de la création d'un composant pour le Form Designer (un composant a levé une exception dans son constructeur). CELA N'AFFECTE EN RIEN VOTRE CODE SOURCE. + Exception lors de la création d'un composant pour le Form Designer (un composant a levé une exception dans son constructeur). CELA N'AFFECTE PAS VOTRE CODE SOURCE. Impossible de charger le concepteur. Vérifier les erreurs de syntaxe du code source et si toutes les références sont disponibles. @@ -4521,7 +4518,7 @@ Allez dans 'Outils/Options->Style Visuel pour changer l'ambiance actuelle.Impossible de trouver le dialogue id '{0}' dans le document. - Une extension doit être de la forme: Classe, Assembly + Une extension doit être de la forme: Classe, Nom d'Assembly Par exemple: Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension @@ -5729,6 +5726,9 @@ Soit ils n'existent pas, soit le document Wix n'est pas pour WiX 3.0 et l'espace Ajouter une référence + + Ajouter une référence de Service + Ajouter une référence web @@ -6606,6 +6606,9 @@ Les fichiers de resources ont été renommés/déplacés en conséquence. Ouvre une solution + + Supprimer de la liste des projets récents + Page de démarrage @@ -7597,7 +7600,7 @@ Les fichiers de resources ont été renommés/déplacés en conséquence.Compiler projet actif ou buffer (si pas de projet ouvert) (Sauvegarde auto.) - Une session de déboguage est en cours, voulez vous l'arrêter pour reconstruire le projet? + Une session de déboguage est en cours, voulez-vous l'arrêter pour reconstruire le projet? Arrêter le déboguage @@ -7771,7 +7774,4 @@ Erreur lors du démarrage: Partie non commentée - - Cette ressource n'est pas utilisée. Son but est de tester la base de donnée de traduction. - \ No newline at end of file diff --git a/data/resources/StringResources.hu.resx b/data/resources/StringResources.hu.resx index 6732abf516..80625a11a3 100644 --- a/data/resources/StringResources.hu.resx +++ b/data/resources/StringResources.hu.resx @@ -117,6 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Ez az erőforrás nincs használva. Célja a fordító adatbázis tesztelése. +Valamint soremelést tartalmaz. + About @@ -5079,8 +5083,4 @@ Hiba az indításkor: Megjegyzésből ki - - Ez az erőforrás nincs használva. Célja a fordító adatbázis tesztelése. -Valamint soremelést tartalmaz. - \ No newline at end of file diff --git a/data/resources/StringResources.it.resx b/data/resources/StringResources.it.resx index c14fa8840a..d24f3c1ddd 100644 --- a/data/resources/StringResources.it.resx +++ b/data/resources/StringResources.it.resx @@ -117,6 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Questa risorsa non viene utilizzata. Il suo scopo è di testare il database di traduzione ed ha +una riga a capo + Informazioni su... @@ -7710,8 +7714,4 @@ Errore durante esecuzione: Rimuovi commento regione - - Questa risorsa non viene utilizzata. Il suo scopo è di testare il database di traduzione ed ha -una riga a capo - \ No newline at end of file diff --git a/data/resources/StringResources.kr.resx b/data/resources/StringResources.kr.resx index 9bc19d94fa..02e87c55eb 100644 --- a/data/resources/StringResources.kr.resx +++ b/data/resources/StringResources.kr.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ちょっとくらいのわがままは、大目に見てね。 + 정보 @@ -6263,7 +6266,4 @@ SharpDevelop 2는 리소스를 다른 방법으로 컴파일합니다: 리소스 이 부분의 주석 해제 - - ちょっとくらいのわがままは、大目に見てね。 - \ No newline at end of file diff --git a/data/resources/StringResources.nl.resx b/data/resources/StringResources.nl.resx index 14b1480cdb..d12c11379e 100644 --- a/data/resources/StringResources.nl.resx +++ b/data/resources/StringResources.nl.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Deze bron is niet in gebruik. Het doel is om vertalingsdatabase te testen en heeft een 'line break' + Info... @@ -2650,6 +2653,9 @@ Wilt u het nieuwe bestand toevoegen aan project ${CurrentProjectName}? Standaard waarden voor VB Opties: + + Code formatteren + Instellingen @@ -5730,6 +5736,9 @@ Microsoft.Tools.WindowsInstallerXml.Extenties.NetFxCompiler, WixNetFxExtentie Voeg referentie toe + + Service referentie toevoegen + Web referentie toevoegen @@ -6608,6 +6617,9 @@ De hulpbron bestanden zijn hernoemd/verplaatst op de beschreven wijze. Oplossing openen + + Verwijder van de lijst met recente projecten + Startpagina @@ -7774,7 +7786,4 @@ Startfout: Regiocommentaar verwijderen - - Deze bron is niet in gebruik. Het doel is om vertalingsdatabase te testen en heeft een 'line break' - \ No newline at end of file diff --git a/data/resources/StringResources.no.resx b/data/resources/StringResources.no.resx index 15253445af..4b19ccf170 100644 --- a/data/resources/StringResources.no.resx +++ b/data/resources/StringResources.no.resx @@ -117,6 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Denne ressursen er ikke i bruk. Formålet er å teste oversettingsdatabasen, og har +et linjeskift + Om @@ -7047,8 +7051,4 @@ SharpDevelop 2 kompilerer ressurser annerledes: ressursnavnet er ikke bare filna Fjern kommentarer - - Denne ressursen er ikke i bruk. Formålet er å teste oversettingsdatabasen, og har -et linjeskift - \ No newline at end of file diff --git a/data/resources/StringResources.pl.resx b/data/resources/StringResources.pl.resx index a0d27a95f7..3498f5c565 100644 --- a/data/resources/StringResources.pl.resx +++ b/data/resources/StringResources.pl.resx @@ -117,6 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Ten zasób nie jest używany. Jego przeznaczeniem jest testowanie bazy tłumaczeń i posiada +łamanie wiersza + O Menadżerze Dodatków @@ -5661,8 +5665,4 @@ Błąd podczas uruchamiania: Odkomentuj region - - Ten zasób nie jest używany. Jego przeznaczeniem jest testowanie bazy tłumaczeń i posiada -łamanie wiersza - \ No newline at end of file diff --git a/data/resources/StringResources.pt-br.resx b/data/resources/StringResources.pt-br.resx index 50a9a3b664..315cde3c7c 100644 --- a/data/resources/StringResources.pt-br.resx +++ b/data/resources/StringResources.pt-br.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Este recurso não está sendo utilizado. O seu proposito é testar o banco de dados de traduções e tem uma quebra de linha + Sobre @@ -228,6 +231,33 @@ Formato de arquivo desconhecido. + + Instalar do arquivo... + + + Repositorio: + + + Pesquisar: + + + Mostrar adicionais instalados + + + Você não pode desinstalar o Gerenciador de Adicionais porque você precisa dele para reinstalar os adicionais! + + + Repositório de adicionais do SharpDevelop + + + Criado por: + + + Dependências: + + + Baixados: + Esse arquivo contem novas linhas inconsistentes. @@ -6199,7 +6229,4 @@ Use somente letras, dígitos, espaço, "." ou "_" são permitidos. Desfazer comentário - - Este recurso não está sendo utilizado. O seu proposito é testar o banco de dados de traduções e tem uma quebra de linha - \ No newline at end of file diff --git a/data/resources/StringResources.pt.resx b/data/resources/StringResources.pt.resx index 9019ccad6c..840b3e1228 100644 --- a/data/resources/StringResources.pt.resx +++ b/data/resources/StringResources.pt.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Este recurso não é utilizado. A sua finalidade é testar a base de dados de traduções + Sobre @@ -5846,7 +5849,4 @@ O erro no início foi: Desfazer comentário - - Este recurso não é utilizado. A sua finalidade é testar a base de dados de traduções - \ No newline at end of file diff --git a/data/resources/StringResources.ro.resx b/data/resources/StringResources.ro.resx index a65b6bdfaf..b1430798db 100644 --- a/data/resources/StringResources.ro.resx +++ b/data/resources/StringResources.ro.resx @@ -117,6 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Această resursă nu este utilzată. Scopul ei este de a testa traducerile şi conţine un retur de car + + Despre @@ -3794,8 +3798,4 @@ Eroare la pornire: Regiune necomentată - - Această resursă nu este utilzată. Scopul ei este de a testa traducerile şi conţine un retur de car - - \ No newline at end of file diff --git a/data/resources/StringResources.ru.resx b/data/resources/StringResources.ru.resx index 6b347fe561..fbe55df7e1 100644 --- a/data/resources/StringResources.ru.resx +++ b/data/resources/StringResources.ru.resx @@ -117,6 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Эта строка нигде не используется. Она нужна для тестирования базы данных переводов, а также в ней есть +перенос строки + О Менеджере Плагинов @@ -6648,8 +6652,4 @@ SharpDevelop 2 иначе компилировал ресурсы: имя рес Раскомментировать - - Эта строка нигде не используется. Она нужна для тестирования базы данных переводов, а также в ней есть -перенос строки - \ No newline at end of file diff --git a/data/resources/StringResources.se.resx b/data/resources/StringResources.se.resx index df91d64d81..b164d07aad 100644 --- a/data/resources/StringResources.se.resx +++ b/data/resources/StringResources.se.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Den här resursen används inte. Dess syfte är att testa översättningsdatabasen och har en linjebrytning. + Om SharpDevelop @@ -229,6 +232,122 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Okänt filformat: + + Installera från arkivfil... + + + Sök: + + + Visa förinstallerade AddIns + + + Du kan inte avinstallera AddInManager eftersom denna behövs för att på nytt installera AddIns! + + + Skapad av: + + + Beroenden: + + + Nerladdningar: + + + Filens namn: + + + Installerad version: + + + Senast uppdaterad: + + + Mer information: + + + Senaste version: + + + Omdöme: + + + Rapportera missbruk + + + Version: + + + Visa licensavtal + + + Följande AddIns är beroende av "{0}": + +{1} + +Dessa kommer att sluta fungera om detta AddIn avaktiveras! Är du säker på att du vill fortsätta? + + + Jag &Accepterar + + + Jag av&böjer + + + Licensavtal + + + Lägg till + + + Kontrollera automatiskt om det finns uppdateringar + + + Flytta ner + + + Flytta upp + + + Namn: + + + Ta bort + + + Källa: + + + AddIns + + + Allmänt + + + Följande AddIns är beroende av "{0}": + +{1} + +Dessa kommer att sluta fungera om detta AddIn tas bort! Är du säker på att du vill fortsätta? + + + SharpDevelop AddIns|*.sdaddin;*.addin|Alla filer|*.* + + + Klicka här för att se uppdateringarna. + + + Uppdateringar till SharpDevelop finns tillgängliga + + + Tillgängliga + + + Installerade + + + Uppdateringar + Den här filen innehåller inkonsekvent information (newlines). @@ -269,7 +388,7 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Hjälp bibliotek - Hjälpläge + Välj hjälpinställningar Kunde inte starta Hjälp bibliotekshanteraren på grund av att katalog inte är installerad eller vald. Vänligen kontrollera dina inställningar (se Verktyg>Inställningar>Microsoft Help Viewer) @@ -299,7 +418,13 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Visa hjälp - Använd extern hjälp + Använd extern hjälpvisare + + + Jag vill använda lokal hjälp + + + Jag vill använda online-baserad hjälp Antal bytes per rad @@ -310,6 +435,9 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Data + + Förskjutning + Numeriskt system @@ -364,9 +492,39 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Alla funktioner för {0} + + Den valda SharpDevelop-profileringssessionen skapades av en nyare version av SharpDevelop och kan därför inte öppnas. + + + SharpDevelop-profileringssession + + + Detta projekt kunde inte startas eftersom den exekverbara filen inte kunde hittas. Kontrollera att projektet och dess beroenden är korrekt byggda! + + + Hittade inget projekt som kan startas. Avbryter... + + + Förbereder för analys... + + + Kunde inte registrera profileraren i COM-registret. Profileringen kan inte påbörjas! + + + Kunde inte avregistrera profileraren från COM-registret! + Profil + + Kombinera rekursiva anrop. + + + Profilera inte interna anropa hos .NET. + + + Samla data endast vid sessionens slut. + Börja insamling av data direkt efter att sessionen har startat. @@ -376,9 +534,18 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Storlek av temporär data fil. + + Spåra händelser + Profilering + + Profilera nuvarande projekt + + + Välj en exekverbar att profilera + Ogiltigt data, vänligen försök igen! @@ -388,12 +555,18 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Starta profilering + + Profilera exekverbar + Samla data Stäng ner + + Kontrollfönster för profileraren + Antal anrop @@ -403,9 +576,15 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Kopiera markerat + + Hitta anrop för valda funktioner + Gå till definition + + Ange som rot/Slå ihop + Visa funktioner @@ -439,15 +618,33 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Tid: + + Analyserare av profileringssession + Topp 20 + + Uppdaterar vy, vänligen vänta... + + + Kör med profilerare + Söker... + + Lägg till Setter + Välj de fält som du vill skapa egenskaper för: + + Implementera INotifyPropertyChanged + + + Skapa egenskaper + Extrahera funktion @@ -469,9 +666,18 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Introducera funktion {0} i {1} + + Åsidosätt Equals() och GetHashCode() + Lägg till interface {0} + + Lägg till åsidosättande av ${otherMethod} + + + Åsidosätt ToString() + Kontrollera nuvarande projekt med StyleCop @@ -583,9 +789,18 @@ Ladda hem ett tillägg från Internet och klicka sedan på 'Installera Tillägg' Tack för din medverkan! Du kan alltid gå ur genom att ändra inställningarna.i SharpDevelop. + + Jag vill delta - samla och skicka användningsdata + + + Jag vill inte delta + Visa insamlad data + + Ta bort marginal + Händelsefärg: @@ -644,9 +859,15 @@ Du kan specificera ett startcommando i projektinställningarna. Avregistrera TypeLib + + Misslyckades med att bifoga till processen {0}. + Process + + Bifoga + Kan inte hitta typen @@ -767,6 +988,9 @@ Du kan specificera ett startcommando i projektinställningarna. &Öppna + + Token för publik nyckel + Version @@ -869,6 +1093,12 @@ Du kan specificera ett startcommando i projektinställningarna. Väntar på att applikationen skall starta. Ifall applikationen inte startar (eller om du tröttnar på att vänta) så kan du avbryta genom att klicka på Avbryt. + + Är du säker på att du vill återställa alla tidigare angivna formateringsinställningar? + + + Återställ till: + Infoga anonyma metoder utan parametrar. @@ -1227,7 +1457,7 @@ Vill du lägga till den nya filen till projektet ${CurrentProjectName}? Detaljinställningar för kodkomplettering - Följande inställningar är programspråksberoende, varför inställningarna kan variera mellan resp. språk. + Följande inställningar är språkberoende, vissa inställningar är inte tillgängliga för vissa språk. Använd följande inställning för att avaktivera kodkomplettering: @@ -1238,6 +1468,9 @@ Vill du lägga till den nya filen till projektet ${CurrentProjectName}? Spara + + Dokumentation (om tillgänglig) + Förhandsvälj nyligen använda medlemmar @@ -1302,7 +1535,7 @@ Vill du lägga till den nya filen till projektet ${CurrentProjectName}? Redigera Standardrubriker - Generella + Allmänt Skapa &alltid säkerhetskopia @@ -1548,11 +1781,14 @@ Vill du lägga till den nya filen till projektet ${CurrentProjectName}? Ingen - Markörer och linjaler + Markörer Markörer och linjaler + + Linjaler + Visa &blanksteg @@ -1638,7 +1874,7 @@ Vill du lägga till den nya filen till projektet ${CurrentProjectName}? Projektinformation - &Rot namespace: + &Rotnamnrymd: &Startobjekt: @@ -1737,7 +1973,7 @@ Vill du lägga till den nya filen till projektet ${CurrentProjectName}? Tillåt &osäker kod - Generell + Allmänt Referera inte till &mscorlib.dll @@ -1806,7 +2042,7 @@ Vill du lägga till den nya filen till projektet ${CurrentProjectName}? &Lägg till importering - &Namespace: + &Namnrymd: Publicera @@ -1997,6 +2233,9 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek &Lägg till + + Avancerad + < Tillbaka @@ -2090,6 +2329,9 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek Flytta &Upp + + Ej tillämpbar + Namn @@ -2207,6 +2449,9 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek XML redigerare + + Välj vilket program som du vill öppna denna fil med: + Standard @@ -2264,9 +2509,21 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek Boo tolkare + + SharpDevelop kan inte hitta FxCop. Välj installationsmapp för FxCop i SharpDevelops inställningar. + + + Kan inte läsa loggfilen för FxCop: + Mono är inte installerad. + + Kör kodanalys... + + + Okänd version av vald Mono Framework + Kodanalys @@ -2291,6 +2548,9 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek Kunde inte hitta FxCop - kontrollera att FxCop finns installerad. + + Laddar tillgängliga regler... + Du kan specificera sökvägen till FxCop under inställningarna för SharpDevelop. @@ -2306,6 +2566,9 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek Kör FxCop på + + Visa inte meddelande + Kodtäckning @@ -2315,9 +2578,15 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek Kolumn + + Innehåll + Slutkolumn + + Radslut + Ingen resultatfil för kodtäckning genererades: @@ -2369,6 +2638,21 @@ Du kan även välja att lagra inställningen i .user-filen istället för projek Ytterligare inställningar + + Länkskapare + + + Länka ytterligare filer + + + Länka specifika .NET-moduler + + + Biblioteksfilernas placeringar + + + Bädda in .NET-resursfil + Preprocessor @@ -2666,6 +2950,9 @@ Alla ändringar kommer att förloras. Vill du verkligen avsluta SharpDevelop? Alla ändringar som inte sparats kommer att förloras! + + Rapportera fel till SharpDevelop-teamet + Tack för att du hjälper oss att göra SharpDevelop till ett bättre program. @@ -2685,7 +2972,7 @@ Alla ändringar kommer att förloras. Sökväg - Namespace + Namnrymd K&omponenter att lägga till @@ -2721,7 +3008,7 @@ Alla ändringar kommer att förloras. Konfigurera Verktygsfält - Namespace + Namnrymd &Ny @@ -2763,7 +3050,7 @@ Alla ändringar kommer att förloras. markera metoden InitializeComponents i kodvyn som endast läsbar - Generell + Allmänt Rutsystemets egenskaper @@ -2771,6 +3058,9 @@ Alla ändringar kommer att förloras. &Höjd + + Använd optimerad kodgenerering + Rutsystemets Inställningar @@ -2844,13 +3134,13 @@ Inga komponenter för WindowsFormer kommer att vara tillgängliga, var god konfi Gå till - Namespace innehåller ogiltiga tecken. Ett namespace kan endast innehålla bokstäver, siffror eller underscore tecken. + Namnrymden innehåller ogiltiga tecken. En namnrymd kan endast innehålla tecken som består av bokstäver, siffror eller understreck. Referensnamnet innehåller ogiltiga tecken. - &Namespace: + &Namnrymd: Parametrar @@ -2972,13 +3262,16 @@ Endast bokstäver, siffror, mellanslag, '.' eller '_' får användas. Specificerar om filen skall kopieras till utdatamappen - Anpassa verktyg + Anpassningsverktyg Specificerar verktyget som konverterar filen till utdatat. - Namespace för anpassa verktyg + Namnrymd för anpassningsverktyget + + + Specificerar namnrymden som anpassningsverktyget placerar utdata i. Fullständig sökväg till filen. @@ -3043,6 +3336,9 @@ Endast bokstäver, siffror, mellanslag, '.' eller '_' får användas. Konvertera valda &projekt till: + + Kompilatorversion + &Konvertera @@ -3149,6 +3445,9 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö Lägg till filer... + + Installationspaket + Kunde inte hitta '{0}' i {1} @@ -3218,6 +3517,9 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö WiX bibliotek + + Inga skillnader upptäckta. + WIX projekt @@ -3303,10 +3605,10 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö Schemata - Det gick inte att lägga till schemat. Namespace '{0}' existerar redan. + Det gick inte att lägga till schemat. Namnrymden '{0}' existerar redan. - Schema '{0}' saknar ett namespace (mål). + Schema '{0}' saknar en namnrymd som mål. XML Schemata @@ -3344,6 +3646,12 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö XML träd + + Namnrymd + + + Namnrymd + Prefix @@ -3392,6 +3700,9 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö Vill du verkligen kassera dina ändringar? + + namnrymd + Vill du spara ändringarna? @@ -3968,6 +4279,9 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö XML dokumentationsfilen existerar inte, du måste kompilera projektet först. + + För att skapa dokumentation från XML-kommentarer så krävs att 'Sandcastle Help File Builder' är installerad. + HTML-e&xport @@ -4062,7 +4376,7 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö Multilinje - Namespace + Namnrymd Publik synlig @@ -4235,6 +4549,9 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö Operationen kunde inte utföras på grund av att källkoden innehåller fel: + + Skapa &Getter + Skapa OnEvent-metod @@ -4298,6 +4615,9 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö Flytta klassen till filen '${FileName}' + + Åsidosättanden av ${Name} + Referenser till ${Name} @@ -4329,7 +4649,7 @@ Gå till 'Inställningar->Visuell stil' och ändra den nuvarande språkmiljö C# Dokumentations Taggar - Generell + Allmänt Licenser @@ -5660,7 +5980,4 @@ Resursfilerna har därför bytt namn/flyttats enligt ovan. Avkommentera region - - Den här resursen används inte. Dess syfte är att testa översättningsdatabasen och har en linjebrytning. - \ No newline at end of file diff --git a/data/resources/StringResources.tr.resx b/data/resources/StringResources.tr.resx index 1bf40d0bba..fef1b793e7 100644 --- a/data/resources/StringResources.tr.resx +++ b/data/resources/StringResources.tr.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Bu kaynak kullanılamıyor. Amacı, çeviri veritabanını test etmek ve bir satır kesmesi var. + Hakkında @@ -160,7 +163,7 @@ Bu eklenti iki kez kurulmuş. Lütfen birini kaldırın. - Eklentinin Eklenti Yöneticisi tarafindan kullanılmasi için bir kimliği olmalıdır. + Eklenti Eklenti Yöneticisi tarafından kullanılabilmesi için bir <kimlik> sahibi olmalıdır. Eklenti SharpDevelop yeniden başlatıldığında kaldırılacak. @@ -229,6 +232,158 @@ Bilinmeyen dosya biçimi: + + Arşivden yükle... + + + Depo: + + + Ara: + + + Önyüklü eklentileri göster + + + Önsürümleri göster + + + Eklentileri yeniden yüklemeden, eklenti yöneticisini kaldıramazsınız! + + + SharpDevelop Eklenti Arşivi + + + Düzenleyen: + + + Bağımlılıklar: + + + İndirilenler: + + + Dosya adı: + + + Yüklü sürüm: + + + Son güncelleme: + + + Daha fazla bilgi + + + Yeni sürüm: + + + Değerlendirme: + + + Uygunsuzluğu bildir + + + Sürüm: + + + Lisans Koşulları: + + + Kurulu Eklenti, "{0}"'a bağlıdır: + +{1} + +Eklenti devre dışı olduktan sonra durabilir! Devam etmek istediğinizden emin misiniz? + + + Paket "{0}", ilave pakete ihtiyaç duymaktadır: + +{1} + +Uygulama, onları da indirip yüklemek için çalışacak. Devam etmek istiyor musunuz? + + + Seçili paket geçerli SharpDevelop Eklentisi içermiyor. + + + &Kabul et + + + &Reddet + + + "Kabul et" butonuna tıklayarak paket için lisans şartlarını kabul ediyorsunuz. +Eğer lisans şartlarını kabul etmiyorsanız "Reddet" butonuna tıklayın. + + + "Kabul et" butonuna tıklayarak yukarıda listelenen paketler için lisans şartlarını kabul ediyorsunuz. +Eğer lisans şartlarını kabul etmiyorsanız "Reddet" tıklayın. + + + Aşağıdaki paket için bir lisans koşulunu kabul gerekiyor: + + + Aşağıdaki paketler için lisans koşullarını kabul etmeniz gerekli: + + + Lisans Koşulları + + + Ekle + + + Güncellemeleri otomatik kontrol et + + + Aşağı Taşı + + + Yukarı Taşı + + + Ad: + + + Kaldır + + + Kaynak: + + + Eklenti + + + Genel + + + Depolar + + + "{0}", aşağıdaki yüklü Eklentiye bağlı: + +{1} + +Eklenti kaldırıldıktan sonra çalışması durabilir! Devam etmek istediğinizden emin misiniz? + + + SharpDevelop Eklentileri|*.sdaddin;*.addin|All files|*.* + + + Güncellemeleri görmek için buraya tıklayın. + + + SharpDevelop için yararlanılabilir güncelleştirmeler + + + Yararlanılabilir + + + Yüklü + + + Güncellemeler + Bu dosya tutarsız satırlar içeriyor. @@ -269,11 +424,14 @@ Yardım Kitaplığı - Yardım Modu + Yardım Tercihi Ayarı Seçili veya yüklü bir yardım kataloğu olmadığından, Kütüphane Yöneticisi Yardımı başlatılamıyor. Yardım ayarlarınızı kontrol ediniz(Araçlar> Seçenekler> Araçlar> Microsoft Yardım Görüntüleyici). + + Yardım Kitaplığı Yöneticisi bulunamadı. SharpDevelop yardım özelliğini kullanmak için Microsoft Windows SDK 7.1 indirin ve kurun. + Kütüphane Yöneticisi Yardımı bulunamadı. Yüklemeyi kontrol edin. @@ -302,7 +460,7 @@ Yardımı Göster - Harici yardımı kullan + Harici yardım görüntüleyici kullan Yerel yardımı kullanmak istiyorum @@ -1382,6 +1540,30 @@ Bir ActiveX / COM nesnesi oluşturmak / değiştirmek için, nesne ağacı veya Kod Kalite Analizi + + Kodu otomatik biçimlendir + + + (varsayılan) + + + (global) + + + Ön ayarlı seçim biçimlendirilmemiş! + + + Tüm öntanımlı biçimlendirme seçeneklerini sıfırlamak istediğinizden emin misiniz? + + + (proje) + + + Sıfırla: + + + (Çözüm) + Açık yönteme referans ekleyin; yeni yöntem eklemek için tab veya enter tuşuna tekrar basın. @@ -1823,6 +2005,15 @@ Yeni dosyayı, ${CurrentProjectName} projesine eklemek istiyor musunuz? Kaydet + + Araçipuçları linkler gitmeli + + + Kod tanımı + + + Belgeler (varsa) + Son kullanılan üyeleri öncelikli seç @@ -1871,6 +2062,12 @@ Yeni dosyayı, ${CurrentProjectName} projesine eklemek istiyor musunuz? Hata ayıklama + + Bağımsız değişkenleri ve yürütülebilir lansman üzerinde çalışan dizini iste. + + + Yürütmenin ilk satırında ara ver. + Tekrar derlemeyi etkinleştir @@ -1919,6 +2116,9 @@ Yeni dosyayı, ${CurrentProjectName} projesine eklemek istiyor musunuz? Sembol ve kaynak kodu yolları: + + Kaynak Ayıklama Olmadan + Başlık @@ -2186,6 +2386,9 @@ Yeni dosyayı, ${CurrentProjectName} projesine eklemek istiyor musunuz? Eşleşen parantezleri vurgula + + Geçerli satırı vurgulayın + Sembolleri vurgula @@ -2447,6 +2650,9 @@ Yeni dosyayı, ${CurrentProjectName} projesine eklemek istiyor musunuz? VB Seçenekleri için varsayılan değerler: + + Kod biçimlendirme + Yapılandırma @@ -3152,9 +3358,15 @@ Ayrıca bir ayarı proje dosyası yerine kullanıcı dosyası(.user-file) içind Kapsanmamış Kod + + Kod Kısmen Kapalı + Kolon + + İçerik + Gösterim Seçenekleri @@ -3596,6 +3808,12 @@ Not: Bu işlem özel düzenlemelerinizi etkilemez. Artan Ters Arama: + + {0} geçerli bir .NET derlemesi değil. + + + {0} erişilebilir değil ya da artık yok. + ${Filename} dosyasından ${Assembly} için kod tamamlama bilgisi yükleme hatası: @@ -4128,6 +4346,9 @@ Sadece harf,rakam, boşluk, '.' yada '_' kullanabilirsiniz. Bu çözüm dışarıdan değiştirildi. + + Çözüm Biçimlendirme Seçenekleri + Seçilen projeleri dönüştür: @@ -4472,6 +4693,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< .NET Framework Uzantısı + + WİX yüklü değil. Lütfen http://wixtoolset.org/ adresinden indirin. + Fark bulunamadı @@ -4493,6 +4717,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Visual Studio Uzantısı + + WPF Tasarımcısı Küçük Resim Görünümü + Kopyala @@ -4793,6 +5020,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Sık Kullanılanlar + + Çalışma alanına ekle + Geri @@ -4832,9 +5062,24 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Arama sonucu olumsuz. + + Derleme aç + + + Dosyadan derleme aç... + + + GAC'dan derleme aç... + + + Sınıf Tarayıcıda Aç + Sınıf Görünümü Arama + + {0} Çalışma alanı + Sınıflar @@ -4847,6 +5092,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Sözcük Kaydırmaya Geç + + İzleme ifadesi ekle + DuraksamaNoktaları @@ -4943,6 +5191,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Konsol + + Çalıştırılabilir ayıkla + Kesme @@ -5300,6 +5551,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< deki + + <proje yok> + ${Count} tane bulundu @@ -5315,6 +5569,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Dosya başına + + Proje başına + + + Proje ve dosya başına + Liste modu aramayı seç @@ -5480,6 +5740,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Referans Ekle + + Servis Referansı Ekle + Web Referansı Ekle @@ -5750,6 +6013,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Kaynak kod üreteci: '{0}' kaynağı için hiçbir kaynak özelliği oluşturamıyor. + + Yorum + İçerik @@ -5762,6 +6028,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< Kaynak adı kopyala + + Yorumu düzenle + + + Kaynak yorumunuz için yeni metin giriniz: + Yeniden adlandır @@ -5879,6 +6151,12 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< ${Name} 'den türeme sınıflar + + Pano halkasından yapıştır... + + + Pano halkası boş + Otomatik özelliği dönüştür @@ -5963,6 +6241,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFXCompiler, WixNetFxExtension< ${Name} geçersiz kıl + + ${Name} parçaları + ${Name} referansları @@ -6339,6 +6620,9 @@ Kaynak dosyaları buna göre yeniden adlandırıldı/taşındı. Çözüm Aç + + Son projeler listesinden kaldır + Başlangıç Sayfası @@ -6351,6 +6635,12 @@ Kaynak dosyaları buna göre yeniden adlandırıldı/taşındı. satır ${Line} sütun ${Column} ${Character} + + Uzunluk ${Rows} * ${Cols}(${Total}) + + + Uzunluk ${Length} + Çeşitli @@ -7498,7 +7788,4 @@ Başlatma hatası: Bölgeyi yorumlama - - Bu kaynak kullanılamıyor. Amacı, çeviri veritabanını test etmek ve bir satır kesmesi var. - \ No newline at end of file diff --git a/data/resources/StringResources.zh.resx b/data/resources/StringResources.zh.resx index 94040e1397..5431a37f01 100644 --- a/data/resources/StringResources.zh.resx +++ b/data/resources/StringResources.zh.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 该资源不被使用.它仅仅用来测试翻译数据库. + 关于 @@ -7241,7 +7244,4 @@ SharpDevelop 编译资源时发现不对应:资源名称不是文件名,而 设为非注释区 - - 该资源不被使用.它仅仅用来测试翻译数据库. - \ No newline at end of file diff --git a/samples/XamlDesigner/Document.cs b/samples/XamlDesigner/Document.cs index 21a28e35e5..1079edf0a4 100644 --- a/samples/XamlDesigner/Document.cs +++ b/samples/XamlDesigner/Document.cs @@ -153,9 +153,9 @@ namespace ICSharpCode.XamlDesigner } } - OutlineNode outlineRoot; + IOutlineNode outlineRoot; - public OutlineNode OutlineRoot { + public IOutlineNode OutlineRoot { get { return outlineRoot; } diff --git a/samples/XamlDesigner/Shell.cs b/samples/XamlDesigner/Shell.cs index 2f1a0abe41..fad5178762 100644 --- a/samples/XamlDesigner/Shell.cs +++ b/samples/XamlDesigner/Shell.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.XamlDesigner //public Toolbox Toolbox { get; set; } //public SceneTree SceneTree { get; set; } - public PropertyGrid PropertyGrid { get; internal set; } + public IPropertyGrid PropertyGrid { get; internal set; } //public ErrorList ErrorList { get; set; } public ObservableCollection Documents { get; private set; } diff --git a/src/AddIns/Analysis/UnitTesting/TestRunner/TestResultsReader.cs b/src/AddIns/Analysis/UnitTesting/TestRunner/TestResultsReader.cs index f3bc984cb3..08e94b2d77 100644 --- a/src/AddIns/Analysis/UnitTesting/TestRunner/TestResultsReader.cs +++ b/src/AddIns/Analysis/UnitTesting/TestRunner/TestResultsReader.cs @@ -61,8 +61,10 @@ namespace ICSharpCode.UnitTesting public void Dispose() { - reader.Dispose(); - namedPipe.Dispose(); + if (reader != null) + reader.Dispose(); + if (namedPipe != null) + namedPipe.Dispose(); } public event EventHandler TestFinished; diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin index b1ad8f4e40..b70e3a2dcf 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin @@ -363,7 +363,6 @@ - diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj index dbbd1b7739..970be27a88 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj @@ -91,6 +91,7 @@ CSharpSemanticHighlighter.cs + diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpLanguageBinding.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpLanguageBinding.cs index 48103a5acf..548fddd585 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpLanguageBinding.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpLanguageBinding.cs @@ -20,12 +20,18 @@ using System; using System.Collections.Generic; using System.ComponentModel; +using System.Linq; +using System.Reflection; using System.Threading; using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.NRefactory; +using ICSharpCode.NRefactory.CSharp; +using ICSharpCode.NRefactory.CSharp.Refactoring; +using ICSharpCode.NRefactory.Editor; using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.SharpDevelop.Editor.CodeCompletion; +using ICSharpCode.SharpDevelop.Project; using CSharpBinding.Completion; using CSharpBinding.FormattingStrategy; using CSharpBinding.Refactoring; @@ -49,303 +55,97 @@ namespace CSharpBinding this.container.AddService(typeof(System.CodeDom.Compiler.CodeDomProvider), new Microsoft.CSharp.CSharpCodeProvider()); } - public override ICodeCompletionBinding CreateCompletionBinding(FileName fileName, TextLocation currentLocation, ICSharpCode.NRefactory.Editor.ITextSource fileContent) + public override ICodeCompletionBinding CreateCompletionBinding(string expressionToComplete, FileName fileName, TextLocation location, ICodeContext context) { if (fileName == null) throw new ArgumentNullException("fileName"); - return new CSharpCompletionBinding(fileName, currentLocation, fileContent); + if (context == null) + throw new ArgumentNullException("context"); + string content = GeneratePartialClassContextStub(fileName, location, context); + const string caretPoint = "$__Caret_Point__$;"; + int caretOffset = content.IndexOf(caretPoint, StringComparison.Ordinal) + expressionToComplete.Length; + SD.Log.DebugFormatted("context used for dot completion: {0}", content.Replace(caretPoint, "$" + expressionToComplete + "|$")); + var doc = new ReadOnlyDocument(content.Replace(caretPoint, expressionToComplete)); + return new CSharpCompletionBinding(fileName, doc.GetLocation(caretOffset), doc.CreateSnapshot()); } - } - - public class CSharpTextEditorExtension : ITextEditorExtension - { - ITextEditor editor; - IssueManager inspectionManager; - IList contextActionProviders; - CodeManipulation codeManipulation; - CaretReferenceHighlightRenderer renderer; - CodeEditorFormattingOptionsAdapter options; - TextEditorOptions originalEditorOptions; - - public void Attach(ITextEditor editor) - { - this.editor = editor; - inspectionManager = new IssueManager(editor); - codeManipulation = new CodeManipulation(editor); - renderer = new CaretReferenceHighlightRenderer(editor); - - // Patch editor options (indentation) to project-specific settings - if (!editor.ContextActionProviders.IsReadOnly) { - contextActionProviders = AddInTree.BuildItems("/SharpDevelop/ViewContent/TextEditor/C#/ContextActions", null); - editor.ContextActionProviders.AddRange(contextActionProviders); - } - - // Create instance of options adapter and register it as service - var formattingPolicy = CSharpFormattingPolicies.Instance.GetProjectOptions( - SD.ProjectService.FindProjectContainingFile(editor.FileName)); - options = new CodeEditorFormattingOptionsAdapter(editor.Options, formattingPolicy.OptionsContainer); - var textEditor = editor.GetService(); - if (textEditor != null) { - var textViewServices = textEditor.TextArea.TextView.Services; - - // Unregister any previous ITextEditorOptions instance from editor, if existing, register our impl. - textViewServices.RemoveService(typeof(ITextEditorOptions)); - textViewServices.AddService(typeof(ITextEditorOptions), options); - - // Set TextEditor's options to same object - originalEditorOptions = textEditor.Options; - textEditor.Options = options; - } - } - - public void Detach() - { - var textEditor = editor.GetService(); - if (textEditor != null) { - var textView = textEditor.TextArea.TextView; - - // Unregister our ITextEditorOptions instance from editor - var optionsService = textView.GetService(); - if ((optionsService != null) && (optionsService == options)) - textView.Services.RemoveService(typeof(ITextEditorOptions)); - - // Reset TextEditor options, too? - if ((textEditor.Options != null) && (textEditor.Options == options)) - textEditor.Options = originalEditorOptions; - } - - codeManipulation.Dispose(); - if (inspectionManager != null) { - inspectionManager.Dispose(); - inspectionManager = null; - } - if (contextActionProviders != null) { - editor.ContextActionProviders.RemoveAll(contextActionProviders.Contains); - } - renderer.Dispose(); - options = null; - this.editor = null; - } - } - - class CodeEditorFormattingOptionsAdapter : TextEditorOptions, ITextEditorOptions, ICodeEditorOptions - { - CSharpFormattingOptionsContainer container; - readonly ITextEditorOptions globalOptions; - readonly ICodeEditorOptions globalCodeEditorOptions; - public CodeEditorFormattingOptionsAdapter(ITextEditorOptions globalOptions, CSharpFormattingOptionsContainer container) + static string GeneratePartialClassContextStub(FileName fileName, TextLocation location, ICodeContext context) { - if (globalOptions == null) - throw new ArgumentNullException("globalOptions"); - if (container == null) - throw new ArgumentNullException("container"); - - this.globalOptions = globalOptions; - this.globalCodeEditorOptions = globalOptions as ICodeEditorOptions; - this.container = container; - - CSharpFormattingPolicies.Instance.FormattingPolicyUpdated += OnFormattingPolicyUpdated; - globalOptions.PropertyChanged += OnGlobalOptionsPropertyChanged; - } - - void OnFormattingPolicyUpdated(object sender, CSharpBinding.FormattingStrategy.CSharpFormattingPolicyUpdateEventArgs e) - { - OnPropertyChanged("IndentationSize"); - OnPropertyChanged("ConvertTabsToSpaces"); - } - - void OnGlobalOptionsPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) - { - OnPropertyChanged(e.PropertyName); - } - - #region ITextEditorOptions implementation - - public override int IndentationSize { - get { - return container.GetEffectiveIndentationSize() ?? globalOptions.IndentationSize; - } - } - - public override bool ConvertTabsToSpaces { - get { - return container.GetEffectiveConvertTabsToSpaces() ?? globalOptions.ConvertTabsToSpaces; - } - } - - public bool AutoInsertBlockEnd { - get { - return globalOptions.AutoInsertBlockEnd; - } - } - - public int VerticalRulerColumn { - get { - return globalOptions.VerticalRulerColumn; - } - } - - public bool UnderlineErrors { - get { - return globalOptions.UnderlineErrors; - } - } - - public string FontFamily { - get { - return globalOptions.FontFamily; - } - } - - public double FontSize { - get { - return globalOptions.FontSize; - } - } - - #endregion - - public override bool AllowScrollBelowDocument { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.AllowScrollBelowDocument : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.AllowScrollBelowDocument = value; - } - } - } - - public bool ShowLineNumbers { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.ShowLineNumbers : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.ShowLineNumbers = value; - } - } - } - - public bool EnableChangeMarkerMargin { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.EnableChangeMarkerMargin : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.EnableChangeMarkerMargin = value; - } - } - } - - public bool WordWrap { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.WordWrap : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.WordWrap = value; - } - } - } - - public bool CtrlClickGoToDefinition { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.CtrlClickGoToDefinition : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.CtrlClickGoToDefinition = value; - } - } - } - - public bool MouseWheelZoom { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.MouseWheelZoom : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.MouseWheelZoom = value; - } - } - } - - public bool HighlightBrackets { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.HighlightBrackets : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.HighlightBrackets = value; + var compilation = SD.ParserService.GetCompilationForFile(fileName); + var file = SD.ParserService.GetExistingUnresolvedFile(fileName); + if (compilation == null || file == null) + return ""; + var unresolvedMember = file.GetMember(location); + if (unresolvedMember == null) + return ""; + var member = unresolvedMember.Resolve(new SimpleTypeResolveContext(compilation.MainAssembly)); + if (member == null) + return ""; + var builder = new TypeSystemAstBuilder(); + MethodDeclaration decl; + if (unresolvedMember is IMethod) { + // If it's a method, convert it directly (including parameters + type parameters) + decl = (MethodDeclaration)builder.ConvertEntity(member); + } else { + // Otherwise, create a method anyways, and copy the parameters + decl = new MethodDeclaration(); + if (member is IParameterizedMember) { + foreach (var p in ((IParameterizedMember)member).Parameters) { + decl.Parameters.Add(builder.ConvertParameter(p)); + } } } + decl.Name = "__DebuggerStub__"; + decl.ReturnType = builder.ConvertType(member.ReturnType); + decl.Modifiers = unresolvedMember.IsStatic ? Modifiers.Static : Modifiers.None; + // Make the method look like an explicit interface implementation so that it doesn't appear in CC + decl.PrivateImplementationType = new SimpleType("__DummyType__"); + decl.Body = GenerateBodyFromContext(builder, context.LocalVariables.ToArray()); + return WrapInType(unresolvedMember.DeclaringTypeDefinition, decl).ToString(); } - public bool HighlightSymbol { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.HighlightSymbol : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.HighlightSymbol = value; - } - } - } - - public bool EnableAnimations { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.EnableAnimations : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.EnableAnimations = value; - } - } - } - - public bool UseSmartIndentation { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.UseSmartIndentation : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.UseSmartIndentation = value; - } - } - } - - public bool EnableFolding { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.EnableFolding : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.EnableFolding = value; - } - } + static BlockStatement GenerateBodyFromContext(TypeSystemAstBuilder builder, IVariable[] variables) + { + var body = new BlockStatement(); + foreach (var v in variables) + body.Statements.Add(new VariableDeclarationStatement(builder.ConvertType(v.Type), v.Name)); + body.Statements.Add(new ExpressionStatement(new IdentifierExpression("$__Caret_Point__$"))); + return body; } - public bool EnableQuickClassBrowser { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.EnableQuickClassBrowser : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.EnableQuickClassBrowser = value; + static AstNode WrapInType(IUnresolvedTypeDefinition entity, EntityDeclaration decl) + { + if (entity == null) + return decl; + // Wrap decl in TypeDeclaration + decl = new TypeDeclaration { + ClassType = GetClassType(entity), + Modifiers = Modifiers.Partial, + Name = entity.Name, + Members = { decl } + }; + if (entity.DeclaringTypeDefinition != null) { + // Handle nested types + return WrapInType(entity.DeclaringTypeDefinition, decl); + } + if (string.IsNullOrEmpty(entity.Namespace)) + return decl; + return new NamespaceDeclaration(entity.Namespace) { + Members = { + decl } - } + }; } - public bool ShowHiddenDefinitions { - get { - return (globalCodeEditorOptions != null) ? globalCodeEditorOptions.ShowHiddenDefinitions : default(bool); - } - set { - if (globalCodeEditorOptions != null) { - globalCodeEditorOptions.ShowHiddenDefinitions = value; - } + static ClassType GetClassType(IUnresolvedTypeDefinition entity) + { + switch (entity.Kind) { + case TypeKind.Interface: + return ClassType.Interface; + case TypeKind.Struct: + return ClassType.Struct; + default: + return ClassType.Class; } } } diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpTextEditorExtension.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpTextEditorExtension.cs new file mode 100644 index 0000000000..f308877041 --- /dev/null +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpTextEditorExtension.cs @@ -0,0 +1,253 @@ +// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of this +// software and associated documentation files (the "Software"), to deal in the Software +// without restriction, including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all copies or +// substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Reflection; +using ICSharpCode.AvalonEdit; +using CSharpBinding.FormattingStrategy; +using CSharpBinding.Refactoring; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop; +using ICSharpCode.SharpDevelop.Editor; +using ICSharpCode.SharpDevelop.Refactoring; +namespace CSharpBinding +{ + public class CSharpTextEditorExtension : ITextEditorExtension + { + ITextEditor editor; + + IssueManager inspectionManager; + + IList contextActionProviders; + + CodeManipulation codeManipulation; + + CaretReferenceHighlightRenderer renderer; + + CodeEditorFormattingOptionsAdapter options; + + TextEditorOptions originalEditorOptions; + + public void Attach(ITextEditor editor) + { + this.editor = editor; + inspectionManager = new IssueManager(editor); + codeManipulation = new CodeManipulation(editor); + renderer = new CaretReferenceHighlightRenderer(editor); + + // Patch editor options (indentation) to project-specific settings + if (!editor.ContextActionProviders.IsReadOnly) { + contextActionProviders = AddInTree.BuildItems("/SharpDevelop/ViewContent/TextEditor/C#/ContextActions", null); + editor.ContextActionProviders.AddRange(contextActionProviders); + } + + // Create instance of options adapter and register it as service + var formattingPolicy = CSharpFormattingPolicies.Instance.GetProjectOptions(SD.ProjectService.FindProjectContainingFile(editor.FileName)); + var textEditor = editor.GetService(); + + if (textEditor != null) { + options = new CodeEditorFormattingOptionsAdapter(textEditor.Options, editor.Options, formattingPolicy.OptionsContainer); + var textViewServices = textEditor.TextArea.TextView.Services; + + // Unregister any previous ITextEditorOptions instance from editor, if existing, register our impl. + textViewServices.RemoveService(typeof(ITextEditorOptions)); + textViewServices.AddService(typeof(ITextEditorOptions), options); + + // Set TextEditor's options to same object + originalEditorOptions = textEditor.Options; + textEditor.Options = options.TextEditorOptions; + } + } + + public void Detach() + { + var textEditor = editor.GetService(); + if (textEditor != null) { + var textView = textEditor.TextArea.TextView; + // Unregister our ITextEditorOptions instance from editor + var optionsService = textView.GetService(); + if ((optionsService != null) && (optionsService == options)) + textView.Services.RemoveService(typeof(ITextEditorOptions)); + // Reset TextEditor options, too? + if ((textEditor.Options != null) && (textEditor.Options == options.TextEditorOptions)) + textEditor.Options = originalEditorOptions; + } + + codeManipulation.Dispose(); + + if (inspectionManager != null) { + inspectionManager.Dispose(); + inspectionManager = null; + } + + if (contextActionProviders != null) { + editor.ContextActionProviders.RemoveAll(contextActionProviders.Contains); + } + + renderer.Dispose(); + options = null; + this.editor = null; + } + } + + class CodeEditorFormattingOptionsAdapter : ITextEditorOptions, INotifyPropertyChanged + { + CSharpFormattingOptionsContainer container; + readonly TextEditorOptions avalonEditOptions; + readonly TextEditorOptions originalAvalonEditOptions; + readonly ITextEditorOptions originalSDOptions; + + public CodeEditorFormattingOptionsAdapter(TextEditorOptions originalAvalonEditOptions, ITextEditorOptions originalSDOptions, CSharpFormattingOptionsContainer container) + { + if (originalAvalonEditOptions == null) + throw new ArgumentNullException("originalAvalonEditOptions"); + if (originalSDOptions == null) + throw new ArgumentNullException("originalSDOptions"); + if (container == null) + throw new ArgumentNullException("container"); + + this.originalAvalonEditOptions = originalAvalonEditOptions; + this.avalonEditOptions = new TextEditorOptions(originalAvalonEditOptions); + this.originalSDOptions = originalSDOptions; + this.container = container; + + // Update overridden options once + UpdateOverriddenProperties(); + + CSharpFormattingPolicies.Instance.FormattingPolicyUpdated += OnFormattingPolicyUpdated; + this.originalAvalonEditOptions.PropertyChanged += OnOrigAvalonOptionsPropertyChanged; + this.originalSDOptions.PropertyChanged += OnSDOptionsPropertyChanged; + } + + void OnFormattingPolicyUpdated(object sender, CSharpBinding.FormattingStrategy.CSharpFormattingPolicyUpdateEventArgs e) + { + // Update editor options from changed policy + UpdateOverriddenProperties(); + + OnPropertyChanged("IndentationSize"); + OnPropertyChanged("IndentationString"); + OnPropertyChanged("ConvertTabsToSpaces"); + } + + void UpdateOverriddenProperties() + { + avalonEditOptions.IndentationSize = container.GetEffectiveIndentationSize() ?? originalSDOptions.IndentationSize; + avalonEditOptions.ConvertTabsToSpaces = container.GetEffectiveConvertTabsToSpaces() ?? originalSDOptions.ConvertTabsToSpaces; + } + + void OnOrigAvalonOptionsPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) + { + if ((e.PropertyName != "IndentationSize") && (e.PropertyName != "IndentationString") && (e.PropertyName != "ConvertTabsToSpaces")) { + // Update values in our own TextEditorOptions instance + PropertyInfo propertyInfo = typeof(TextEditorOptions).GetProperty(e.PropertyName); + if (propertyInfo != null) { + propertyInfo.SetValue(avalonEditOptions, propertyInfo.GetValue(originalAvalonEditOptions)); + } + } else { + UpdateOverriddenProperties(); + } + OnPropertyChanged(e.PropertyName); + } + + void OnSDOptionsPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) + { + OnPropertyChanged(e.PropertyName); + } + + public event PropertyChangedEventHandler PropertyChanged; + + void OnPropertyChanged(string propertyName) + { + if (PropertyChanged != null) { + PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + + public ICSharpCode.AvalonEdit.TextEditorOptions TextEditorOptions + { + get { + return avalonEditOptions; + } + } + + #region Overridden properties + + public int IndentationSize { + get { + // Get value from own TextEditorOptions instance + return avalonEditOptions.IndentationSize; + } + } + + public string IndentationString { + get { + // Get value from own TextEditorOptions instance + return avalonEditOptions.IndentationString; + } + } + + public bool ConvertTabsToSpaces { + get { + // Get value from own TextEditorOptions instance + return avalonEditOptions.ConvertTabsToSpaces; + } + } + + #endregion + + #region Rest of ITextEditorOptions implementation + + public bool AutoInsertBlockEnd { + get { + return originalSDOptions.AutoInsertBlockEnd; + } + } + + public int VerticalRulerColumn { + get { + return originalSDOptions.VerticalRulerColumn; + } + } + + public bool UnderlineErrors { + get { + return originalSDOptions.UnderlineErrors; + } + } + + public string FontFamily { + get { + return originalSDOptions.FontFamily; + } + } + + public double FontSize { + get { + return originalSDOptions.FontSize; + } + } + + #endregion + + } +} + + diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionBinding.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionBinding.cs index c81f2b3349..1e9943d962 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionBinding.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionBinding.cs @@ -24,10 +24,8 @@ using ICSharpCode.Core; using ICSharpCode.NRefactory; using ICSharpCode.NRefactory.CSharp.Resolver; using ICSharpCode.NRefactory.Completion; -using ICSharpCode.NRefactory.CSharp; using ICSharpCode.NRefactory.CSharp.Completion; using ICSharpCode.NRefactory.Editor; -using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Editor.CodeCompletion; @@ -129,7 +127,7 @@ namespace CSharpBinding.Completion DefaultCompletionItemList list = new DefaultCompletionItemList(); list.Items.AddRange(FilterAndAddTemplates(editor, completionData.Cast().ToList())); - if (list.Items.Count > 0) { + if (list.Items.Count > 0 && (ctrlSpace || cce.AutoCompleteEmptyMatch)) { list.SortItems(); list.PreselectionLength = caretOffset - startPos; list.PostselectionLength = Math.Max(0, startPos + triggerWordLength - caretOffset); diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionContext.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionContext.cs index 007b2e2078..ae654a0d81 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionContext.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionContext.cs @@ -17,17 +17,19 @@ // DEALINGS IN THE SOFTWARE. using System; +using System.Collections.Generic; using System.Diagnostics; +using System.IO; using ICSharpCode.Core; using ICSharpCode.NRefactory; -using ICSharpCode.NRefactory.Editor; -using ICSharpCode.SharpDevelop.Project; -using CSharpBinding.Parser; +using ICSharpCode.NRefactory.CSharp; using ICSharpCode.NRefactory.CSharp.Completion; using ICSharpCode.NRefactory.CSharp.TypeSystem; +using ICSharpCode.NRefactory.Editor; using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Editor; +using CSharpBinding.Parser; namespace CSharpBinding.Completion { @@ -35,7 +37,7 @@ namespace CSharpBinding.Completion { public readonly ITextEditor Editor; public readonly IDocument Document; - public readonly CSharpFullParseInformation ParseInformation; + public readonly IList ConditionalSymbols; public readonly ICompilation Compilation; public readonly IProjectContent ProjectContent; public readonly CSharpTypeResolveContext TypeResolveContextAtCaret; @@ -56,7 +58,7 @@ namespace CSharpBinding.Completion if (projectContent == null) return null; - return new CSharpCompletionContext(editor, parseInfo, compilation, projectContent, editor.Document, editor.Caret.Location); + return new CSharpCompletionContext(editor, parseInfo.SyntaxTree.ConditionalSymbols, compilation, projectContent, editor.Document, parseInfo.UnresolvedFile, editor.Caret.Location); } public static CSharpCompletionContext Get(ITextEditor editor, ITextSource fileContent, TextLocation currentLocation, FileName fileName) @@ -64,33 +66,50 @@ namespace CSharpBinding.Completion IDocument document = new ReadOnlyDocument(fileContent); // Don't require the very latest parse information, an older cached version is OK. - var parseInfo = SD.ParserService.Parse(fileName, document) as CSharpFullParseInformation; + var parseInfo = SD.ParserService.GetCachedParseInformation(fileName) as CSharpFullParseInformation; + if (parseInfo == null) { + parseInfo = SD.ParserService.Parse(fileName) as CSharpFullParseInformation; + } if (parseInfo == null) return null; - ICompilation compilation = SD.ParserService.GetCompilationForFile(fileName); - var projectContent = compilation.MainAssembly.UnresolvedAssembly as IProjectContent; + + var project = SD.ProjectService.FindProjectContainingFile(fileName)as CSharpProject; + if (project == null) + return null; + + var solutionSnapshot = SD.ParserService.GetCurrentSolutionSnapshot(); + var projectContent = solutionSnapshot.GetProjectContent(project); if (projectContent == null) return null; - return new CSharpCompletionContext(editor, parseInfo, compilation, projectContent, document, currentLocation); + CSharpParser parser = new CSharpParser(project.CompilerSettings); + parser.GenerateTypeSystemMode = false; + + SyntaxTree cu = parser.Parse(fileContent, Path.GetRandomFileName() + ".cs"); + cu.Freeze(); + + CSharpUnresolvedFile unresolvedFile = cu.ToTypeSystem(); + ICompilation compilation = projectContent.AddOrUpdateFiles(unresolvedFile).CreateCompilation(solutionSnapshot); + + return new CSharpCompletionContext(editor, parseInfo.SyntaxTree.ConditionalSymbols, compilation, projectContent, document, unresolvedFile, currentLocation); } - private CSharpCompletionContext(ITextEditor editor, CSharpFullParseInformation parseInfo, ICompilation compilation, IProjectContent projectContent, IDocument document, TextLocation caretLocation) + private CSharpCompletionContext(ITextEditor editor, IList conditionalSymbols, ICompilation compilation, IProjectContent projectContent, IDocument document, CSharpUnresolvedFile unresolvedFile, TextLocation caretLocation) { Debug.Assert(editor != null); - Debug.Assert(parseInfo != null); + Debug.Assert(unresolvedFile != null); Debug.Assert(compilation != null); Debug.Assert(projectContent != null); Debug.Assert(document != null); this.Editor = editor; this.Document = document; - this.ParseInformation = parseInfo; + this.ConditionalSymbols = conditionalSymbols; this.Compilation = compilation; this.ProjectContent = projectContent; - this.TypeResolveContextAtCaret = parseInfo.UnresolvedFile.GetTypeResolveContext(compilation, caretLocation); - this.CompletionContextProvider = new DefaultCompletionContextProvider(document, parseInfo.UnresolvedFile); - this.CompletionContextProvider.ConditionalSymbols.AddRange(parseInfo.SyntaxTree.ConditionalSymbols); + this.TypeResolveContextAtCaret = unresolvedFile.GetTypeResolveContext(compilation, caretLocation); + this.CompletionContextProvider = new DefaultCompletionContextProvider(document, unresolvedFile); + this.CompletionContextProvider.ConditionalSymbols.AddRange(conditionalSymbols); } } } diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs index 8fbfc7e3f7..c3f005e892 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CSharpCompletionDataFactory.cs @@ -148,7 +148,7 @@ namespace CSharpBinding.Completion IEnumerable ICompletionDataFactory.CreatePreProcessorDefinesCompletionData() { - return completionContext.ParseInformation.SyntaxTree.ConditionalSymbols.Select(def => new CompletionData(def)); + return completionContext.ConditionalSymbols.Select(def => new CompletionData(def)); } ICompletionData ICompletionDataFactory.CreateImportCompletionData(IType type, bool useFullName, bool addForTypeCreation) diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormatter.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormatter.cs index 65bec18aca..92be04e150 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormatter.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormatter.cs @@ -31,11 +31,17 @@ namespace CSharpBinding.FormattingStrategy /// public static void Format(ITextEditor editor, int offset, int length, CSharpFormattingOptionsContainer optionsContainer) { + SyntaxTree syntaxTree = SyntaxTree.Parse(editor.Document); + if (syntaxTree.Errors.Count > 0) { + // Don't format files containing syntax errors! + return; + } + TextEditorOptions editorOptions = editor.ToEditorOptions(); optionsContainer.CustomizeEditorOptions(editorOptions); var formatter = new CSharpFormatter(optionsContainer.GetEffectiveOptions(), editorOptions); formatter.AddFormattingRegion(new DomRegion(editor.Document.GetLocation(offset), editor.Document.GetLocation(offset + length))); - var changes = formatter.AnalyzeFormatting(editor.Document, SyntaxTree.Parse(editor.Document)); + var changes = formatter.AnalyzeFormatting(editor.Document, syntaxTree); changes.ApplyChanges(offset, length); } } diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/CSharpSymbolSearch.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/CSharpSymbolSearch.cs index fbd05adfc5..6d21e0bb23 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/CSharpSymbolSearch.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/CSharpSymbolSearch.cs @@ -87,7 +87,7 @@ namespace CSharpBinding IEnumerable GetRelatedSymbols(ISymbol entity) { - TypeGraph typeGraph = new TypeGraph(new [] { compilation.MainAssembly }); + var typeGraph = new Lazy(() => new TypeGraph(new [] { compilation.MainAssembly })); var symbolCollector = new SymbolCollector(); return symbolCollector.GetRelatedSymbols(typeGraph, entity); } diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/CSharpCodeGenerator.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/CSharpCodeGenerator.cs index 9902fef703..1ec12f9a3a 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/CSharpCodeGenerator.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/CSharpCodeGenerator.cs @@ -211,5 +211,10 @@ namespace CSharpBinding.Refactoring script.ChangeModifier(entityDeclaration, entityDeclaration.Modifiers | Modifiers.Virtual); } } + + public override string EscapeIdentifier(string identifier) + { + return "@" + identifier; + } } } diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/EditorScript.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/EditorScript.cs index c33d1b6b7c..cb33ec2b33 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/EditorScript.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/EditorScript.cs @@ -24,6 +24,7 @@ using System.Windows.Threading; using ICSharpCode.AvalonEdit.Editing; using ICSharpCode.AvalonEdit.Snippets; using ICSharpCode.AvalonEdit.Document; +using ICSharpCode.Core; using ICSharpCode.NRefactory; using ICSharpCode.NRefactory.CSharp; using ICSharpCode.NRefactory.CSharp.Refactoring; @@ -32,6 +33,10 @@ using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Editor; +using ICSharpCode.SharpDevelop.Editor.Commands; +using ICSharpCode.SharpDevelop.Editor.Dialogs; +using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.Refactoring; using ICSharpCode.SharpDevelop.Workbench; namespace CSharpBinding.Refactoring @@ -102,6 +107,11 @@ namespace CSharpBinding.Refactoring return tcs.Task; } + public override void Rename(ISymbol symbol, string name = null) + { + RenameSymbolCommand.RunRename(symbol, name); + } + public override Task