Python 코드 편집Editing Python code

개발자는 코드 편집기에서 많은 시간을 보내므로 Visual Studio의 Python 지원에서 생산성 향상에 도움이 되는 기능을 제공합니다.Developers spend much of their time in the code editor, so Python support in Visual Studio provides functionality to help you be more productive. 이러한 기능에는 IntelliSense 구문 강조 표시, 자동 완성, 시그니처 도움말, 메서드 재정의/검색 및 탐색이 포함됩니다.Features include IntelliSense syntax highlighting, auto-completion, signature help, method overrides, search, and navigation.

항목 내용In this topic:

Visual Studio에서 코드 편집에 대한 일반적 설명서는 코드 및 텍스트 편집기에서 코드 작성을 참조하세요.For general documentation on editing code in Visual Studio, see Writing Code in the Code and Text Editor. 또한 코드의 특정 섹션에 집중하는 데 도움이 되는 Visual Studio 개요도 참조하세요.Also see Outlining in Visual Studio, which helps you stay focused on particular sections of your code. Python 지원은 각 모듈에 정의된 클래스와 해당 클래스에 정의된 함수를 검사하기 위해 Visual Studio 개체 브라우저(보기 > 다른 창 > 개체 브라우저 또는 Ctrl+W, J) 사용을 포함합니다.Python support includes using the Visual Studio Object Browser (View > Other Windows > Object Browser or Ctrl+W,J) for inspecting classes defined in each module and the functions defined in those classes.

또한 편집기는 Visual Studio의 대화형 창과 통합되므로 편집기와 창 간에 코드를 쉽게 교환할 수 있습니다.The editor is also integrated with the interactive window in Visual Studio, making it easy to exchange code between the two. 자세한 내용은 자습서 3단계: 대화형 REPL 창 사용대화형 창 - 대화형 명령에 코드 보내기를 참조하세요.See Tutorial Step 3: Using the interactive REPL window and Using the interactive window - Send code to interactive command for details.

Python 코드 편집에 대한 소개는 Python 코드 편집(Microsoft Virtual Academy, 2분 30초)을 참조하세요.For an introduction to editing Python code, see Editing Python Code (Microsoft Virtual Academy, 2m30s):

IntelliSenseIntelliSense

IntelliSense는 완성, 서명 도움말, 요약 정보코드 색 지정을 제공합니다.IntelliSense provides completions, signature help, quick info, and code coloring. IntelliSense는 프로젝트의 각 Python 환경에 대해 생성된 완성 데이터베이스를 통해 성능을 향상시킵니다.To improve performance, IntelliSense depends on the completion database that's generated for each Python environment in your project. 패키지를 추가, 제거 또는 업데이트할 경우 데이터베이스를 새로 고쳐야 할 수 있습니다.Databases may need refreshing if you add, remove, or update packages. 데이터베이스 상태는 Python 환경 창(솔루션 탐색기의 형제)의 IntelliSense 탭에 표시됩니다(Python 환경 참조).Database status is shown in the Python Environments window (a sibling of Solution Explorer) on the IntelliSense tab (see Python Environments).

완성Completions

완성은 문, 식별자 및 편집기의 현재 위치에 적절히 입력될 수 있는 다른 단어로 표시됩니다.Completions appear as statements, identifiers, and other words that may be appropriately entered at the current location in the editor. 목록에 표시된 내용은 컨텍스트를 기반으로 하며, 잘못되었거나 불필요한 옵션을 생략하도록 필터링됩니다.What's shown in the list is based on context and is filtered to omit incorrect or distracting options. 완성은 종종 다른 문(예: import) 및 연산자(마침표 포함)를 입력하여 트리거되지만, 언제든지 Ctrl+J, 스페이스를 입력하여 표시되도록 할 수 있습니다.Completions are often triggered by typing different statements (such as import) and operators (including a period), but you can have them appear at anytime by typing Ctrl-J, Space.

멤버 완성

완성 목록이 열리면 화살표 키와 마우스를 사용하거나 계속 입력하여 원하는 완성을 검색할 수 있습니다.When a completion list is open, you can search for the completion you want using the arrow keys, the mouse, or by continuing to type. 더 많은 글자를 입력함에 따라 목록이 자세히 필터링되어 더 확실한 완성을 보여 줍니다.As you type more letters, the list is further filtered to show likely completions. 다음과 같은 바로 가기를 사용할 수도 있습니다.You can also use shortcuts such as:

  • 'parse'와 같이 이름의 시작 부분에 없는 글자를 입력하면 'argparse'를 찾습니다.Typing letters that are not at the start of the name, such as 'parse' to find 'argparse'
  • 'abc'와 같이 단어의 시작 부분에 있는 글자만 입력하면 'AbstractBaseClass'를 찾거나 'air'를 입력하면 'as_integer_ratio'를 찾습니다.Typing only letters that are at the start of words, such as 'abc' to find 'AbstractBaseClass' or 'air' to find 'as_integer_ratio'
  • 'b64'와 같이 문자를 건너뛰면 'base64'를 찾습니다.Skipping letters, such as 'b64' to find 'base64'

몇 가지 예:Some examples:

필터링을 통한 멤버 완성

변수 또는 값 뒤에 마침표를 입력하면 멤버 완성이 자동으로 표시되어 잠재적인 형식의 메서드와 특성을 보여줍니다.Member completions appear automatically when you type a period after a variable or value, along with the methods and attributes of the potential types. 변수가 둘 이상의 형식일 수 있는 경우 목록에는 모든 형식의 모든 가능성 및 각 완성을 지원하는 형식을 나타내는 추가 정보가 포함됩니다.If a variable could be more than one type, the list includes all possibilities from all types, with extra information to indicate which types support each completion. 완성이 가능한 모든 형식으로 지원되는 경우 주석 없이 표시됩니다.Where a completion is supported by all possible types, it is shown without annotation.

여러 형식의 멤버 완성

기본적으로 “dunder” 멤버(이중 밑줄로 시작하고 끝나는 멤버)는 표시되지 않습니다.By default, "dunder" members (members beginning and ending with a double underscore) are not shown. 일반적으로 해당 멤버는 직접 액세스하면 안 됩니다.In general, such members should not be accessed directly. 그러나 완성이 필요한 경우 선행 이중 밑줄을 입력하면 다음과 같은 완성이 목록에 추가됩니다.If you need one, however, typing the leading double underscore adds these completions to the list:

전용 멤버 완성

importfrom ... import 문은 가져올 수 있는 모듈의 목록을 표시합니다.The import and from ... import statements display a list of modules that can be imported. from ... import의 경우에는 지정된 모듈에서 가져올 수 있는 멤버가 목록에 포함됩니다.With from ... import, the list includes members that can be imported from the specified module.

가져오기 완성

raiseexcept 문은 오류 형식이 될 수 있는 클래스의 목록을 표시합니다.The raise and except statements display lists of classes likely to be error types. 목록에 모든 사용자 정의 예외가 포함되지는 않지만, 적합한 기본 제공 예외를 빠르게 찾을 수 있습니다.The list may not include all user-defined exceptions, but helps you find suitable built-in exceptions quickly:

예외 완성

@를 입력하면 데코레이터가 시작되고, 잠재적 데코레이터가 표시됩니다.Typing @ starts a decorator and shows potential decorators. 이러한 항목 중 많은 항목은 데코레이터로 사용할 수 없으므로 라이브러리 설명서를 확인하여 사용할 항목을 결정합니다.Many of these items aren't usable as decorators; check the library documentation to determine which to use.

데코레이터 완성

도구 > 옵션 > 텍스트 편집기 > Python > 고급을 통해 완성 동작을 구성할 수 있습니다.You can configure the behavior of completions through Tools > Options > Text Editor > Python > Advanced". 여기서 검색 문자열 기준 필터 목록은 입력 시 완성 제안 필터링을 적용하며(기본적으로 선택한 상태), 멤버 완성에서 멤버 교집합 표시는 가능한 모든 형식에서 지원되는 완성만 표시합니다(기본적으로 선택 취소됨).Among these, Filter list based on search string: applies filtering of completion suggestions as you type (default is checked), and Member completion displays intersection of members shows only completions that are supported by all possible types (default is unchecked). 옵션 - 완성 결과를 참조하세요.See Options - completion results.

서명 도움말Signature help

함수를 호출하는 코드를 작성할 때 여는 (를 입력하면 시그니처 도움말이 표시되며, 사용할 수 있는 설명서와 매개 변수 정보를 보여 줍니다.When writing code that calls a function, signature help appears when you type the opening ( and displays available documentation and parameter information. 또한 함수 호출 내에서 Ctrl+Shift+스페이스를 사용하여 표시할 수도 있습니다.You can also make it appear with Ctrl+Shift+Space inside a function call. 표시되는 정보는 함수의 소스 코드에 있는 설명서 문자열에 따라 다르지만 모든 기본값이 포함됩니다.The information displayed depends on the documentation strings in the function's source code, but includes any default values.

서명 도움말

서명 도움말을 사용하지 않으려면 도구 > 옵션 > 텍스트 편집기 > Python > 일반으로 이동하여 문 완성 > 매개 변수 정보를 선택 취소합니다.To disable signature help, go to Tools > Options > Text Editor > Python > General and clear Statement completion > Parameter information.

요약 정보Quick info

식별자 위로 마우스 포인터를 가져가면 요약 정보 도구 설명이 표시됩니다.Hovering the mouse pointer over an identifier displays a Quick Info tooltip. 식별자에 따라 요약 정보는 잠재적인 값이나 형식, 사용 가능한 모든 설명서, 반환 형식 및 정의 위치를 표시할 수 있습니다.Depending on the identifier, Quick Info may display the potential values or types, any available documentation, return types and, definition locations:

요약 정보

코드 색 지정Code coloring

코드 색 지정은 코드 분석에서 색 변수, 문 및 코드의 다른 부분에 이르는 정보를 사용합니다.Code coloring uses information from code analysis to colors variables, statements, and other parts of your code. 예를 들어 모듈이나 클래스를 참조하는 변수는 함수 또는 다른 값과 다른 색으로 표시될 수 있으며, 매개 변수 이름은 지역 변수 또는 전역 변수와 다른 색으로 표시됩니다.For example, variables that refer to modules or classes may be shown in a different color than functions or other values, and parameter names appear in a different color than local or global variables. 함수는 기본적으로 굵게 표시되지 않습니다.(By default, functions are not shown in bold):

코드 색 지정

색을 사용자 지정하려면 도구 > 옵션 > 환경 > 글꼴 및 색으로 이동하여 항목 표시 목록에서 Python 항목을 수정합니다.To customize the colors, go to Tools > Options > Environment > Fonts and Colors and modify the Python entries in the Display items list:

글꼴 및 색 옵션

코드 색 지정을 사용하지 않으려면 도구 > 옵션 > 텍스트 편집기 > Python > 고급으로 이동하여 기타 옵션 > 형식별 색 이름을 선택 취소합니다.To disable code coloring, go to Tools > Options > Text Editor > Python > Advanced and clear Miscellaneous Options > Color names based on type. 옵션 - 기타 옵션을 참조하세요.See Options - Miscellaneous Options.

코드 조각Code snippets

코드 조각은 바로 가기를 입력하고 Tab 키를 누르거나 편집 > IntelliSense > 코드 조각 삽입 코드 감싸기 명령을 사용하여 파일에 삽입할 수 있는 코드의 부분입니다.Code snippets are fragments of code that can be inserted into your files by typing a shortcut and pressing Tab, or using the Edit > IntelliSense > Insert Code Snippet Surround With commands. 예를 들어 class 다음에 Tab 키를 입력하면 클래스의 나머지 부분이 생성됩니다.For example, typing class followed by the Tab key generates the rest of the class. 이름과 베이스 목록을 입력하고, Tab 키를 사용하여 강조 표시된 필드 사이를 이동한 다음, Enter 키를 눌러 본문을 입력할 수 있습니다.You can type over the name and bases list, moving between the highlighted fields with Tab, then press Enter to begin typing the body.

코드 조각

언어로 Python을 선택하여 코드 조각 관리자(도구 > 코드 조각 관리자)에서 사용 가능한 코드 조각을 볼 수 있습니다.You can see the available code snippets in the Code Snippets Manager (Tools > Code Snippets Manager), selecting Python as the language:

코드 조각 관리자

사용자 고유의 코드 조각을 만들려면 연습: 코드 조각 만들기를 참조하세요.To create your own snippets, see Walkthrough: Creating a Code Snippet.

공유하려는 중요한 코드 조각을 작성하는 경우 자유롭게 요점에 게시하고 알려주세요.If you write a great code snippet that you'd like to share, feel free to post it in a gist and let us know. 그러면 Visual Studio의 향후 릴리스에 포함할 수 있습니다.We may be able to include it in a future release of Visual Studio.

Visual Studio의 Python 지원에서는 소스 코드를 사용할 수 있는 라이브러리, 즉 탐색 모음, 정의로 이동, 다음 탐색모든 참조 찾기를 포함하여 코드 내에서 빠르게 탐색할 수 있는 여러 가지 방법을 제공합니다.Python support in Visual Studio provides several means to quickly navigate within your code, including libraries for which source code is available: the navigation bar, Go To Definition, Navigate To, and Find All References. Visual Studio 개체 브라우저를 사용할 수도 있습니다.You can also use the Visual Studio Object Browser.

탐색 모음은 각 편집기 창의 위쪽에 표시되며, 정의의 2단계 목록을 포함하고 있습니다.The navigation bar is displayed at the top of each editor window and includes a two-level list of definitions. 왼쪽 드롭다운에서는 현재 파일의 최상위 클래스와 함수 정의를 포함하고 있으며, 오른쪽 드롭다운에서는 왼쪽에 표시된 범위 내의 정의 목록을 표시합니다.The left drop-down contains top-level class and function definitions in the current file; the right drop-down displays a list of definitions within the scope shown in the left. 편집기에서 이동하는 대로 목록이 업데이트되어 현재 컨텍스트를 보여 주며, 이러한 목록에서 항목을 선택하여 직접 이동할 수도 있습니다.As you move around in the editor, the lists update to show your current context, and you can also select an entry from these lists to jump directly to in.

탐색 모음

탐색 모음을 숨기려면 도구 > 옵션 > 텍스트 편집기 > Python > 일반으로 이동하여 설정 > 탐색 모음을 선택 취소합니다.To hide the navigation bar, go to Tools > Options > Text Editor > Python > General and clear Settings > Navigation bar.

정의로 이동Go To Definition

정의로 이동은 식별자(예: 함수 이름, 클래스 또는 변수)를 사용하여 정의된 원본 코드로 빠르게 이동합니다.Go To Definition quickly jumps from the use of an identifier (such as a function name, class, or variable), to the source code where it's defined. 정의를 호출하려면 식별자를 마우스 오른쪽 단추로 클릭하여 정의로 이동을 선택하거나 식별자에 캐럿을 배치하고 F12 키를 누릅니다.You invoke it by right-clicking an identifier and selecting Go To Definition or, by placing the caret in the identifier and pressing F12. 원본 코드를 사용할 수 있는 경우 코드 및 외부 라이브러리에서 작동합니다.It works across your code and external libraries provided that source code is available. 라이브러리 소스 코드를 사용할 수 없는 경우 정의로 이동은 모듈 참조를 위해 관련 import 문으로 건너뛰거나 오류를 표시합니다.If library source code is not available, Go To Definition jumps to the relevant import statement for a module reference, or display an error.

정의로 이동

편집 > 다음 탐색... 명령(Ctrl+,)은 문자열을 입력하고 해당 문자열을 포함하는 함수, 클래스 또는 변수를 정의하는 코드에서 가능한 일치 항목을 볼 수 있는 검색 상자를 편집기에 표시합니다.The Edit > Navigate To... command (Ctrl-comma) displays a search box in the editor where you can type any string and see possible matches in your code that defines a function, class, or variable containing that string. 이 기능은 정의로 이동과 비슷한 기능을 제공하지만 식별자를 사용하여 찾을 필요가 없습니다.This feature provides a similar capability as Go To Definition but without having to locate a use of an identifier.

이름을 두 번 클릭하거나 화살표 키로 선택하고 Enter 키를 누르면 해당 식별자의 정의로 이동합니다.Double-clicking any name, or selecting with arrow keys and Enter, navigates to the definition of that identifier.

다음 탐색

모든 참조 찾기Find All References

모든 참조 찾기는 가져오기 및 할당을 포함하여 지정된 식별자가 정의되고 사용되는 위치를 찾는 유용한 방법입니다.Find All References is a helpful way of discovering where any given identifier is both defined and used, including imports and assignments. 참조를 호출하려면 식별자를 마우스 오른쪽 단추로 클릭하여 모든 참조 찾기을 선택하거나 식별자에 캐럿을 배치하고 Shift+F12를 누릅니다.You invoke it by right-clicking an identifier and selecting Find All References, or by placing the caret in the identifier and pressing Shift+F12. 목록에서 항목을 두 번 클릭하면 해당 위치로 이동합니다.Double-clicking an item in the list navigates to its location.

모든 참조 찾기 결과